首页 > 解决方案 > 解析嵌套对象时lua-cjson解码错误

问题描述

s = cjson.decode(s)

我想像这样解码语句,但Expected value but found invalid token at character 27出错了。我尝试了如下另一种说法:

{"status_code":503,"body":"{"code": 1, "message": "服务不可用"}"}

{“status_code”:503,“body”:{“code”:1,“message”:“服务不可用”}}

但是有同样的错误。看起来cjson不支持解码嵌套?还有其他解决方案吗?谢谢。

标签: lua

解决方案


像这样的 JSON 数据很容易转换为 Lua 代码:

s=[[
{"status_code":503,"body":{"code": 1, "message": "Service unavailable"}}
]]

s=s:gsub('(".-"):','[%1]=')
t=load("return "..s)()
for k,v in pairs(t) do print(k,v) end
for k,v in pairs(t.body) do print(k,v) end

推荐阅读