Справочник API
В этом разделе представлен полный справочник API библиотеки github.com/cybergodev/json.
Индекс модулей
| Модуль | Описание |
|---|---|
| Функции пакета | Справочник функций уровня пакета: запросы по пути, типизированное получение, кодирование/декодирование |
| Processor | Методы процессора и конфигурация |
| Config | Подробное описание параметров конфигурации |
| Определения типов | Основные определения типов (включая Encoder/Decoder) |
| Обобщённые операции | Справочник обобщённых API |
| Определения интерфейсов | Расширяемые интерфейсы |
| Потоковая обработка | Справочник потокового процессора |
| Обработка NDJSON | Обработчик JSONL/NDJSON |
| Итератор | API итерации и обхода |
| Вспомогательные функции | Преобразование типов и утилиты |
| Форматированный вывод | Форматирование и красивый вывод |
| Безопасность | API, связанное с безопасностью |
| Валидатор | Schema-валидатор |
| Система хуков | Хуки перехвата операций |
| Пользовательский кодировщик | Пользовательские кодировщики |
| Константы и ошибки | Константы и типы ошибок |
Быстрый поиск
Классификация по функциональности
Запросы по пути
| Функция | Описание |
|---|---|
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 |
JSONLWriter | JSONL-писатель (Write/WriteAll/WriteRaw) |
NDJSONProcessor | Обработчик NDJSON/JSONL |
ForeachFile | Потоковая обработка файлов |
Валидация
| Функция | Описание |
|---|---|
Valid | Валидация JSON (совместима с encoding/json.Valid) |
ValidWithConfig | Валидация JSON с конфигурацией |
ValidateSchema | Schema-валидация (используется с типом Schema) |
CompareJSON | Сравнение JSON на эквивалентность |
Соглашения об именовании
Библиотека следует следующим соглашениям об именовании:
| Шаблон | Описание | Пример |
|---|---|---|
Get{Type} | Получение указанного типа (поддерживает defaultValue) | GetString, GetInt |
GetTyped[T] | Обобщённое получение, возвращает T | GetTyped[User] |
New{Type} | Создание экземпляра | New (возвращает *Processor), NewEncoder |
Default{Type} | Конфигурация по умолчанию | DefaultConfig |
{Type}Config | Предустановка конфигурации | SecurityConfig, PrettyConfig |
Связанные разделы
- Быстрый старт -- Установка и базовое использование
- Синтаксис выражений пути -- Синтаксис запросов по пути
- Примеры использования -- Практические примеры кода
- Обработка больших файлов -- Руководство по потоковой обработке