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

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

Объявление

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

Параметры

  • текст JSON
    Текст JSON, который требуется преобразовать в таблицу.

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

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

Описание

Преобразует текст JSON в соответствующее значение данных Lua.
Эту функцию можно использовать в XUI.

Пример

print(json.decode('true'))
print(json.decode('17'))
print(json.decode('"哈哈"'))
print(json.decode('null'))
print(json.decode(''))
print(table.deep_dump(json.decode('{}')))
print(table.deep_dump(json.decode('{"name":"alice","hello":"world"}')))
print(table.deep_dump(json.decode('[]')))
print(table.deep_dump(json.decode('[1, 2, 3, "foo"]')))
--
sys.alert(print.out())

Примечание: в приведённом коде используются функции из других глав: table.deep_dump, print.out и sys.alert.

-- Использует json.decode для преобразования Unicode-экранирования в формате \uXXXX обратно в текст.
sys.alert(json.decode([["\u4f60\u597d"]])) -- Выводит строку из примера.

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