Mercurial Hosting > luan
view src/luan/modules/Parsers.luan @ 1802:ca98dee04e08 default tip
add Parsers.json_null
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 21 Apr 2024 21:25:15 -0600 |
parents | f8f5c51f5b36 |
children |
line wrap: on
line source
require "java" local BBCode = require "java:goodjava.bbcode.BBCode" local BBCodeLuan = require "java:luan.modules.parsers.BBCodeLuan" local Csv = require "java:luan.modules.parsers.Csv" local Theme = require "java:luan.modules.parsers.Theme" local Xml = require "java:luan.modules.parsers.Xml" local Xml2 = require "java:luan.modules.parsers.Xml2" local XmlElement = require "java:goodjava.xml.XmlElement" local BasicLuan = require "java:luan.modules.BasicLuan" local Parsers = {} Parsers.bbcode_encode = BBCode.encode Parsers.bbcode_parse = BBCodeLuan.parse Parsers.csv_to_list = Csv.toList Parsers.json_null = BasicLuan.json_null Parsers.json_string = BasicLuan.json_string Parsers.theme_to_luan = Theme.toLuan Parsers.xml_encode = XmlElement.encode Parsers.xml_parse = Xml.parse Parsers.xml_string = Xml.toString Parsers.xml2_parse = Xml2.parse Parsers.xml2_string = Xml2.toString local Luan = require "luan:Luan.luan" local error = Luan.error local type = Luan.type or error() local Table = require "luan:Table.luan" local java_to_table_deep = Table.java_to_table_deep or error() local JsonParser = require "java:goodjava.json.JsonParser" local ParseException = require "java:goodjava.parser.ParseException" -- converts json string to luan object function Parsers.json_parse(s) local obj try obj = JsonParser.parse(s) catch e local java = e.java.getCause() if java~=nil and java.instanceof(ParseException) then e.message = java.getSuperMessage() e.text = java.text e.error_index = java.errorIndex e.high_index = java.highIndex end e.throw() end return type(obj)=="java" and java_to_table_deep(obj) or obj end return Parsers