comparison src/luan/modules/Parsers.luan @ 1419:59fd2e8b1b9d

stringify and json_string
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 25 Oct 2019 22:12:06 -0600
parents 27efb1fcbcb5
children 670b7d089699
comparison
equal deleted inserted replaced
1418:732b5de211fc 1419:59fd2e8b1b9d
1 require "java" 1 require "java"
2 local BBCode = require "java:luan.modules.parsers.BBCode" 2 local BBCode = require "java:luan.modules.parsers.BBCode"
3 local Csv = require "java:luan.modules.parsers.Csv" 3 local Csv = require "java:luan.modules.parsers.Csv"
4 local Theme = require "java:luan.modules.parsers.Theme" 4 local Theme = require "java:luan.modules.parsers.Theme"
5 local BasicLuan = require "java:luan.modules.BasicLuan"
5 6
6 7
7 local Parsers = {} 8 local Parsers = {}
8 9
9 Parsers.bbcode_to_html = BBCode.toHtml 10 Parsers.bbcode_to_html = BBCode.toHtml
10 Parsers.bbcode_to_text = BBCode.toText 11 Parsers.bbcode_to_text = BBCode.toText
11 Parsers.csv_to_list = Csv.toList 12 Parsers.csv_to_list = Csv.toList
13 Parsers.json_string = BasicLuan.json_string
12 Parsers.theme_to_luan = Theme.toLuan 14 Parsers.theme_to_luan = Theme.toLuan
13 15
14 local Luan = require "luan:Luan.luan" 16 local Luan = require "luan:Luan.luan"
15 local error = Luan.error 17 local error = Luan.error
16 local type = Luan.type or error() 18 local type = Luan.type or error()
17 local Table = require "luan:Table.luan" 19 local Table = require "luan:Table.luan"
18 local java_to_table_deep = Table.java_to_table_deep or error() 20 local java_to_table_deep = Table.java_to_table_deep or error()
19 local LuanJava = require "java:luan.Luan"
20 local JsonParser = require "java:goodjava.json.JsonParser" 21 local JsonParser = require "java:goodjava.json.JsonParser"
21 local JsonToString = require "java:goodjava.json.JsonToString"
22 22
23 -- converts json string to luan object 23 -- converts json string to luan object
24 function Parsers.json_parse(s) 24 function Parsers.json_parse(s)
25 local obj = JsonParser.parse(s) 25 local obj = JsonParser.parse(s)
26 return type(obj)=="java" and java_to_table_deep(obj) or obj 26 return type(obj)=="java" and java_to_table_deep(obj) or obj
27 end 27 end
28 28
29 -- converts luan object to json string 29 -- tmp
30 function Parsers.json_string(obj)
31 return JsonToString.toString(LuanJava.toJava(obj))
32 end
33
34 function Parsers.json_compressed_string(obj) 30 function Parsers.json_compressed_string(obj)
35 return JsonToString.toCompressedString(LuanJava.toJava(obj)) 31 return Parsers.json_string(obj,{compressed=true})
36 end 32 end
37 33
38 return Parsers 34 return Parsers