Skip to content

Справочник API

В этом разделе представлен полный справочник API библиотеки github.com/cybergodev/json.

Два стиля API

Библиотека предоставляет функции пакета (например, json.GetString(data, "path"), без создания экземпляра) и методы Processor (например, p.GetString(data, "path"), с повторным использованием конфигурации, кэшем предпарсинга и системой хуков). Не уверены, что выбрать? См. дерево решений в Руководстве по Processor.

Индекс модулей

API функций

МодульОписание
Функции пакетаСправочник функций уровня пакета (запросы/модификация/удаление/кодирование/парсинг/пакетная обработка/JSONL/файлы/итерация)
ProcessorМетоды процессора (зеркальная классификация с функциями пакета, дополнительно жизненный цикл и предпарсинг)

Типы и интерфейсы

МодульОписание
ConfigПодробное описание параметров конфигурации (DefaultConfig / SecurityConfig / PrettyConfig)
Определения типовОсновные типы (Config / Schema / Stats / AccessResult, включая Encoder / Decoder)
Определения интерфейсовРасширяемые интерфейсы (CustomEncoder / Validator / Hook / PathParser)
Итераторы и IterableValueТипы Iterator / BatchIterator / ParallelIterator / StreamIterator
Обобщённые операцииОбобщённый API (GetTyped[T] / StreamLinesInto[T] / Result[T])
Константы и ошибкиКонстанты и типы ошибок

Инструменты и утилиты

МодульОписание
Сервисные функцииCompareJSON / MergeJSON, управление кэшем, глобальный процессор, SafeError / RedactedPath, методы AccessResult
Руководство по форматированиюРуководство по миграции серии Print (альтернативы для удалённых API)

Межмодульные темы

МодульОписание
Потоковая обработкаРуководство по потоковой обработке больших файлов
Обработка JSONL / NDJSONОбработчик JSONL (StreamJSONL / NDJSONProcessor / JSONLWriter)
Проверка безопасностиAPI безопасного режима (SecurityConfig / DangerousPattern / RegisterDangerousPattern)
Schema-валидаторВалидация Schema (ValidateSchema / DefaultSchema / NewSchemaWithConfig)
Система хуков HookХуки перехвата операций (LoggingHook / TimingHook / ValidationHook / ErrorHook)
Пользовательский кодировщикПользовательские кодировщики (CustomEncoder / TypeEncoder)

Быстрый поиск

Классификация по функциональности

Запросы по пути

ФункцияОписание
Get, GetWithContext, GetString, GetInt, GetFloat, GetBool, GetArray, GetObjectТипобезопасное получение
GetTyped[T]Обобщённое получение
SafeGetБезопасное получение AccessResult
GetMultipleМассовое получение

Операции модификации

ФункцияОписание
Set, SetMultipleУстановка значений
SetCreate, SetMultipleCreateУстановка значений с автоматическим созданием пути
Delete, DeleteCleanУдаление значений
ProcessBatchМассовые операции

Кодирование/декодирование

ФункцияОписание
Marshal, UnmarshalСтандартное кодирование/декодирование (совместимо с encoding/json, можно добавить cfg)
MarshalIndentФорматированное кодирование (совместимо с encoding/json.MarshalIndent, можно добавить cfg)
Encode, EncodeWithConfigКодирование в строку
NewEncoder, NewDecoderПотоковое кодирование/декодирование
ParseПарсинг JSON

Форматирование

ФункцияОписание
PrettifyФорматирование JSON
CompactСжатие JSON (форма с буфером, совместимо с encoding/json.Compact)
CompactStringСжатие JSON (строковый ввод/вывод, зеркало Processor.Compact)

Файловые операции

ФункцияОписание
LoadFromFile, SaveToFileЧтение и запись файлов
LoadFromReaderЧтение из Reader
MarshalToFile, UnmarshalFromFileФайловое кодирование/декодирование

Потоковая обработка

Тип/методОписание
StreamLinesInto[T]Потоковое чтение JSONL из Reader и преобразование в []T
ParseJSONLПарсинг JSONL-байтов в []any
ToJSONL, ToJSONLStringПреобразование []any в формат JSONL
JSONLWriterJSONL-писатель (Write/WriteAll/WriteRaw)
NDJSONProcessorОбработчик NDJSON/JSONL
ForeachFileПотоковая обработка файлов

Валидация

ФункцияОписание
ValidВалидация JSON (совместима с encoding/json.Valid)
ValidWithConfigВалидация JSON с конфигурацией
ValidateSchemaSchema-валидация (используется с типом Schema)
CompareJSONСравнение JSON на эквивалентность

Соглашения об именовании

Библиотека следует следующим соглашениям об именовании:

ШаблонОписаниеПример
Get{Type}Получение указанного типа (поддерживает defaultValue)GetString, GetInt
GetTyped[T]Обобщённое получение, возвращает TGetTyped[User]
New{Type}Создание экземпляраNew (возвращает *Processor), NewEncoder
Default{Type}Конфигурация по умолчаниюDefaultConfig
{Type}ConfigПредустановка конфигурацииSecurityConfig, PrettyConfig

Связанные разделы