comparison src/luan/modules/Parsers.luan @ 1261:198d6af7330a

rename Luan.to_table to Table.java_to_table_shallow and Luan.to_luan to Table.java_to_table_deep
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 24 Sep 2018 13:09:16 -0600
parents e8020216dee7
children 8d95711f6615
comparison
equal deleted inserted replaced
1260:4b5b84853f6f 1261:198d6af7330a
10 Parsers.bbcode_to_text = BBCode.toText 10 Parsers.bbcode_to_text = BBCode.toText
11 Parsers.csv_to_list = Csv.toList 11 Parsers.csv_to_list = Csv.toList
12 Parsers.theme_to_luan = Theme.toLuan 12 Parsers.theme_to_luan = Theme.toLuan
13 13
14 local Luan = require "luan:Luan.luan" 14 local Luan = require "luan:Luan.luan"
15 local error = Luan.error
16 local type = Luan.type or error()
17 local Table = require "luan:Table.luan"
18 local java_to_table_deep = Table.java_to_table_deep or error()
15 local LuanJava = require "java:luan.Luan" 19 local LuanJava = require "java:luan.Luan"
16 local JsonParser = require "java:luan.lib.json.JsonParser" 20 local JsonParser = require "java:luan.lib.json.JsonParser"
17 local JsonToString = require "java:luan.lib.json.JsonToString" 21 local JsonToString = require "java:luan.lib.json.JsonToString"
18 22
19 -- converts json string to luan object 23 -- converts json string to luan object
20 function Parsers.json_parse(s) 24 function Parsers.json_parse(s)
21 return Luan.to_luan(JsonParser.parse(s)) 25 local obj = JsonParser.parse(s)
26 return type(obj)=="java" and java_to_table_deep(obj) or obj
22 end 27 end
23 28
24 -- converts luan object to json string 29 -- converts luan object to json string
25 function Parsers.json_string(obj) 30 function Parsers.json_string(obj)
26 return JsonToString.toString(LuanJava.toJava(obj)) 31 return JsonToString.toString(LuanJava.toJava(obj))