我有一个lua表,例如:
local _table = {}
_table["name"] = "some user name"
_table["phone"] = nil
ngx.say(cjson.encode(_table))
ngx.say输出如下:
{"name":"some user name"}
正如您所看到的,_table中的电话字段已被忽略!如何设置encoding-options以在cjson编码处理期间包含任何nil字段。 如:
{"name":"some user name", "phone": null}
答案 0 :(得分:4)
将nil
分配给表字段意味着该表字段将被视为未设置,即从Lua的角度来看它停止存在。 CJSON附带了一个代表null
的专用值,而是使用它:
_table["phone"] = cjson.null