Перейти к основному содержимому

Преобразование значения Lua в строку JSON (json.encode)

Объявление

текст_JSON, сообщение_об_ошибке = json.encode(значение)

Параметры

  • значение
    Таблица, текст, число, логическое значение или json.null — значение Lua для преобразования в текст JSON.

Возвращаемые значения

  • текст JSON
    Текст или nil; при успехе возвращается строка JSON, иначе — nil.
  • сообщение об ошибке
    Текст или nil; если при ошибке преобразования текст JSON равен nil, это возвращаемое значение содержит подробное сообщение об ошибке.

Описание

Преобразование значений данных Lua в формат JSON упрощает обмен с другими языками.
Внимание: в JSON можно преобразовать не любое значение Lua. Например, это невозможно для userdata, функций и таблиц, содержащих userdata или функции.
Эту функцию можно использовать в XUI.

Пример

local tb = {
["name"] = "alice",
["message"] = "hello, world",
scores = {
90, 85, 72, 100, 68,
},
nullvalue = json.null,
}
local jsonstr = json.encode(tb)
sys.alert(jsonstr)
--
local tmp = json.decode(jsonstr)
sys.alert(tmp.scores[4])
sys.alert(tostring(tmp.nullvalue))

Примечание: в приведённом коде используется функция из другой главы — sys.alert.