Mercurial Hosting > luan
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)) |