一、前言
项目lua使用工具:cjson
问题:reids中部分数据的json key存在为[]的值,使用cjson进行解析的时候将原本空数组[]解析成了空对象{}
目标:原本[] 转 []
二、解决方案
在使用cjson类库时,先配置json转换要求
-- 设置json转换格式 cjson.encode_empty_table_as_object(false) |
三、代码片段
local cjson = require ("cjson") -- 设置json转换格式 cjson.encode_empty_table_as_object(false)
if ngx.null ~= rescontent then -- 不为空 -- rescontent为redis查出的json内容 local status, json_body = pcall(cjson.decode, rescontent) if not status then --rescontent不是json,就返回rescontent本身 else rescontent = json_body end core.rsp("0", "成功", "",{}, rescontent, "lua.rp") return else |
四、结果