LUA CJSON кодировать ноль поля

У меня есть таблица lua, такая как:

local _table = {}

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

ngx.say(cjson.encode(_table))

Вывод ngx.say, как показано ниже:

{"name":"some user name"}

Как вы можете видеть, поле телефона в _table было проигнорировано! Как установить параметры кодирования для включения любого поля nil во время обработки кодирования cjson. Такие как:

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

1 ответ

Решение

Назначение nil поле таблицы означает, что это поле таблицы будет рассматриваться как неустановленное, то есть с точки зрения Lua оно перестает существовать. CJSON поставляется с выделенным значением для представления nullиспользуйте это вместо:

_table["phone"] = cjson.null
Другие вопросы по тегам