我有一个大型 JSON 对象数组作为编码字符串存储在 redis 中。
local string_foo = redis.call("get", "foo")
"[{\"id\":\"xxxxxxxx\",\"block-scope\":[],\"history\":[{\"type\":\"answer\",\"timestamp\":1516295540951,\"message\":{\"mid\":\"mid.$cAACRSqSkpgVnO4cWglhCkHOU0XJQ\",\"seq\":24216,\"text\":\"fdjl\"}},{\"messageType\":\"text\",\"type\":\"messa ..."
我想使用 lua 脚本遍历这个数组,以将这些数据迁移到更易于管理的形式中。但是,当我尝试使用 cjson 解码创建 lua 表时...
local json_foo = cjson.decode(string_foo)
[[],[],[],[],[]...]
我得到一个空数组或集合的列表(redis-cli ldb 不确定哪个)
1) (empty list or set)
2) (empty list or set)
3) (empty list or set)
4) (empty list or set)
5) (empty list or set)
....
为什么会这样?它很大,但不是特别大。(~6 MB)字符串是使用JSON.stringify
.