PureBasic

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

Все

<- NextJSONMember() - Оглавление Json - RemoveJSONElement()->

����}�-