lua cjson 编码 nil 字段

lua cjson encode nil field

我有一个 lua table 例如:

local _table = {}

_table["name"] = "some user name"    
_table["phone"] = nil

ngx.say(cjson.encode(_table))

ngx.say输出如下:

{"name":"some user name"}

如您所见,_table 中的 phone 字段已被忽略!如何在 cjson 编码处理期间设置编码选项以包含任何 nil 字段。 如:

{"name":"some user name", "phone": null}

nil 分配给 table 字段意味着此 table 字段将被视为未设置,即从 Lua 的角度来看它不再存在。 CJSON 带有一个专用值来表示 null,请改用它:

_table["phone"] = cjson.null