---
sidebar_label: "Обзор"
title: "Справочник API - CyberGo JSON | Функции"
description: "Справочник API CyberGo JSON: GetString/GetInt, Set/Delete, Marshal/Unmarshal, Processor, Schema, Hook и безопасность, совместимый со stdlib."
sidebar_position: 1
---

# Справочник API

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

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

| Модуль | Описание |
|--------|----------|
| [Функции пакета](./functions/) | Справочник функций уровня пакета: запросы по пути, типизированное получение, кодирование/декодирование |
| [Processor](./processor/) | Методы процессора и конфигурация |
| [Config](./config) | Подробное описание параметров конфигурации |
| [Определения типов](./types) | Основные определения типов (включая Encoder/Decoder) |
| [Обобщённые операции](./generics) | Справочник обобщённых API |
| [Определения интерфейсов](./interfaces) | Расширяемые интерфейсы |
| [Потоковая обработка](../streaming/large-files) | Справочник потокового процессора |
| [Обработка NDJSON](../streaming/jsonl) | Обработчик JSONL/NDJSON |
| [Итератор](./iterator) | API итерации и обхода |
| [Вспомогательные функции](./helpers) | Преобразование типов и утилиты |
| [Форматированный вывод](./print) | Форматирование и красивый вывод |
| [Безопасность](../security/security-mode) | API, связанное с безопасностью |
| [Валидатор](../extensions/validator) | Schema-валидатор |
| [Система хуков](../extensions/hooks) | Хуки перехвата операций |
| [Пользовательский кодировщик](../extensions/custom-encoder) | Пользовательские кодировщики |
| [Константы и ошибки](./constants) | Константы и типы ошибок |

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

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

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

| Функция | Описание |
|---------|----------|
| `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` |

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

- [Быстрый старт](../getting-started/) -- Установка и базовое использование
- [Синтаксис выражений пути](../getting-started/path-syntax) -- Синтаксис запросов по пути
- [Примеры использования](../examples/) -- Практические примеры кода
- [Обработка больших файлов](../streaming/large-files) -- Руководство по потоковой обработке
