ParseJSON()
Синтаксис
Result = ParseJSON(#JSON , Input$ [, Flags])
Описание
Разбирает (парсит) JSON-данные из строки и создаёт на их основе структуру JSON-данных. После синтаксического анализа, для доступа к содержащимся JSON-значениям может использоваться функция JSONValue().
Параметры
#JSON Номер для идентификации новой структуры JSON-данных (как объекта в памяти). В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически. Input$ Строка, содержащая JSON-данные для разбора. Flags (дополн.) Если установлено значение #PB_JSON_NoCase, JSON-данные будут проанализированы без учета регистра. Значение по умолчанию - с учётом регистра.
Возвращаемое значение
Возвращает не нулевое значение, если структура JSON-данных была создана успешно, в противном случае - ноль. Если в качестве параметра #JSON использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.
Комментарии
В случае ошибки, для получения дополнительной информации об ошибке можно использовать функции JSONErrorMessage(), JSONErrorLine() и JSONErrorPosition().
Для создания структуры JSON-данных на основе анализа данных из буфера памяти можно использовать функцию CatchJSON().
JSON - это формат данных, чувствительный к регистру. Однако в некоторых ситуациях, таких как десериализация структур с помощью ExtractJSONStructure() или подобных команд, может оказаться полезным рассматривать объекты JSON как нечувствительные к регистру. Флаг #PB_JSON_NoCase заставляет все связанные с этим функции обрабатывать ключи в данном объекте как нечувствительные к регистру.
Пример
If ParseJSON(0, "[1, 2, 3, 4, 5]") For i = 0 To JSONArraySize(JSONValue(0)) - 1 Debug GetJSONInteger(GetJSONElement(JSONValue(0), i)) Next i Else JSONErrorMessage() EndIf
См. также
CreateJSON(), CatchJSON(), LoadJSON(), JSONValue(), FreeJSON(), JSONErrorMessage(), JSONErrorLine(), JSONErrorPosition(), ExportJSON()
Поддерживаемые OS
Все