API リファレンス
本セクションでは github.com/cybergodev/json ライブラリの完全な API リファレンスを提供します。
2 つの API スタイル
本ライブラリは パッケージ関数(例: json.GetString(data, "path")、インスタンス作成不要)と Processor メソッド(例: p.GetString(data, "path")、設定の再利用、事前解析キャッシュ、フックシステム対応)の 2 つの API を提供します。どちらを使うべきか迷ったら 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] | Reader から JSONL をストリーミング読み込みし []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 |
関連
- クイックスタート -- インストールと基本的な使い方
- Processor ガイド -- いつプロセッサを使うか
- パス式の構文 -- パスクエリ構文
- 使用例 -- 実践的なコード例
- 大規模ファイル処理 -- ストリーミング処理ガイド