lua-cjson解析嵌套对象时出现解码错误

s = cjson.decode(s)

我想解码这条语句,但是出现了 Expected value but found invalid token at character 27 错误。我尝试了另一条语句,类似于下面的语句:

{"status_code":503,"body":"{"code": 1, "message": "Service unavailable"}"}

{"status_code":503,"body":{"code": 1, "message": "Service unavailable"}}

然而出现了相同的错误。看起来cjson不支持解码嵌套?是否有其他解决方案?谢谢。

点赞
用户107090
用户107090

像这样的 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
2018-08-02 21:33:41