我有一个 lua 表,例如:
local _table = {}
_table["name"] = "some user name"
_table["phone"] = nil
ngx.say(cjson.encode(_table))
Run Code Online (Sandbox Code Playgroud)
ngx.say 输出如下:
{"name":"some user name"}
Run Code Online (Sandbox Code Playgroud)
如您所见,_table 中的电话字段已被忽略!如何在 cjson 编码处理期间设置 encoding-options 以包含任何 nil 字段。如:
{"name":"some user name", "phone": null}
Run Code Online (Sandbox Code Playgroud)
分配nil给一个表字段意味着这个表字段将被视为未设置,即从 Lua 的角度来看它停止存在。CJSON 带有一个专门的值来表示null,使用它来代替:
_table["phone"] = cjson.null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |