将JSON的所有属性和值插入到LUA表中

时间:2019-02-07 05:02:17

标签: json lua

我想将属性名称和JSON的值插入到LUA表中。

local function convert_table(tbl_test)
 local output_table = {}
  for i, v in pairs(tbl_test) do
    output_table [string.lower(i)] = string.lower(v)                     
  end  
 return output_table
end
  local  test  =  cjson.decode(inputJson)
  local  final =  convert_table(test)

如果我的JSON是

 {    "test": "abc",
      "test1": "EDF",
      "test2": "PNG" }

但是它不适用于JSON以下(JSON中的JSON)

{
  "upper": {
    "test": "abc",
    "test1": "EDF",
    "test2": "PNG",
  }, 
  "lower": {
    "test3": "aabc",
    "test4": "edfa",
    "test5": "png"
  }
}

1 个答案:

答案 0 :(得分:1)

虽然可以使用Luas模式处理来解析上述JSON示例之类的嵌套结构,但远非其预期目的,并且通常只是使该目的专用库复杂化的方式,

更可行的解决方案: 要么使用LPEG ¹之类的功能更强大的工具来构建您的解析器(这仍将花费一些时间),要么仅使用Lua ² ³的任何可用json解析器。