PureBasic

CatchJSON()

Синтаксис

Result = CatchJSON(#JSON , *Buffer , Size [, Flags])

Описание


Разбирает (парсит) JSON-данные из буфера памяти и создаёт на их основе структуру JSON-данных. Предполагается, что содержимое буфера памяти будет закодировано в формате UTF-8. После синтаксического анализа, для доступа к содержащимся JSON-значениям может использоваться функция JSONValue().

Параметры

#JSON Номер для идентификации новой структуры JSON-данных (как объекта в памяти). В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
*Buffer Читаемая область памяти.
Size Длина (в байтах) читаемой области памяти.
Flags (дополн.) Если установлено значение #PB_JSON_NoCase, JSON-данные будут проанализированы без учета регистра. Значение по умолчанию - с учётом регистра.

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

Возвращает не нулевое значение, если структура JSON-данных была создана успешно, в противном случае - ноль. Если в качестве параметра #JSON использовалось значение #PB_Any, то в случае успеха будет возвращен сгенерированный Номер.

Комментарии

В случае ошибки, для получения дополнительной информации об ошибке можно использовать функции JSONErrorMessage(), JSONErrorLine() и JSONErrorPosition().

Для создания структуры JSON-данных на основе анализа строки можно использовать функцию ParseJSON().

JSON - это формат данных, чувствительный к регистру. Однако в некоторых ситуациях, таких как десериализация (восстановление из байтовой последовательности) структур с помощью ExtractJSONStructure() или подобных команд, может оказаться полезным рассматривать объекты JSON как нечувствительные к регистру. Флаг #PB_JSON_NoCase заставляет все связанные с этим функции обрабатывать ключи в данном объекте как нечувствительные к регистру.

См. также

CreateJSON(), ParseJSON(), LoadJSON(), JSONValue(), FreeJSON(), JSONErrorMessage(), JSONErrorLine(), JSONErrorPosition(), ExportJSON()

Поддерживаемые OS

Все

<- AddJSONMember() - Оглавление Json - ClearJSONElements()->