lua - 解析嵌套对象时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不支持解码嵌套?还有其他解决方案吗?谢谢。
解决方案
像这样的 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
推荐阅读
- excel - Excel 宏,用于选择具有数据和格式的单元格作为表格
- opendaylight - 如何访问 OpenDaylight Northbound REST API
- javascript - 标签和单选按钮的Vue js表单绑定
- azure - azure 数据工厂:迭代数百万个文件
- python - 形状对 GPU 上 tensorflow 内存分配的影响
- javascript - 嵌入在 html 中的 javascript 未在 wkwebview 中运行
- php - 为什么我不能写入 /dev/stdout,但 php://stdout 有效?
- php - 如果在函数内部,PHP openssl_encrypt 和 openssl_decrypt aes-256-gcm 不起作用
- csv - SSIS 平面文件在列中添加尾随空格
- javascript - 如何在 bootstrap-vue 的“b-table”组件中使用插槽“bottom-row”?