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