searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

arm机器cjson.empty_array编码问题-openresty

2023-05-18 06:29:28
13
0

json编码时无法区分array和dict,在"encode_empty_table_as_object"默认为"true"的情况下,t={}在使用cjson.encode(t)时会编码为{}。

使用cjson.empty_array,在json编码的时候会将其当做空数组来处理,如cjson.encode(cjson.emopty_array)编码为[]。

但在arm机器上运行时,cjson.encode(cjson.emopty_array)会编码为为空字符串。为了输出[],可以采用以下写法:

local t = {}

setmetatable(t, cjson.empty_array_mt)

cjson.encode(t)

此时可以正确编码为[]。

更深层次原因欢迎讨论~

0条评论
0 / 1000
王****兰
4文章数
0粉丝数
王****兰
4 文章 | 0 粉丝
王****兰
4文章数
0粉丝数
王****兰
4 文章 | 0 粉丝
原创

arm机器cjson.empty_array编码问题-openresty

2023-05-18 06:29:28
13
0

json编码时无法区分array和dict,在"encode_empty_table_as_object"默认为"true"的情况下,t={}在使用cjson.encode(t)时会编码为{}。

使用cjson.empty_array,在json编码的时候会将其当做空数组来处理,如cjson.encode(cjson.emopty_array)编码为[]。

但在arm机器上运行时,cjson.encode(cjson.emopty_array)会编码为为空字符串。为了输出[],可以采用以下写法:

local t = {}

setmetatable(t, cjson.empty_array_mt)

cjson.encode(t)

此时可以正确编码为[]。

更深层次原因欢迎讨论~

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0