TOONからJSONへのコンバーターは、TOON(Token-Oriented Object Notation)データを、世界で最も広く使用されているデータ交換形式である標準のJSONに即座に変換します。コンパクトなトークンベースのTOON構造を、カスタマイズ可能なインデントを使用して、読みやすいJSONにデコードします。
このブラウザベースのツールは完全にローカルで実行され、トークン数やサイズの違いなど、TOONとJSONの詳細な比較を表示します。
TOON形式とは?
TOONはToken-Oriented Object Notation(トークン指向オブジェクト記法)の略称です。構造化データをトークンの順序付きリストとして表現する、JSONにインスパイアされた人間が読める構文です。繰り返しの最小化や、型付きデータ、アノテーション、メタデータのための柔軟な拡張が可能です。
TOONはオープンソースであり、github.com/toon-format/toonで定義されています。
TOONからJSONへの変換の仕組み
TOONデータを貼り付けると、ツールは@toon-format/toonライブラリのdecode関数を使用してトークンストリームを解析し、元のデータ構造を再構築します。その後、結果は指定されたインデントレベルで標準のJSONとしてシリアライズされます。
すべての処理はブラウザ内でローカルに行われるため、データがサーバーにアップロードされたり送信されたりすることはありません。結果のJSONをコピーしたり、元のTOON入力とサイズを比較したりできます。
JSON出力のフォーマット
コンバーターは、JSON出力のフォーマットを制御するためのインデントオプションを提供しています:
- インデントなし: コンパクトな1行のJSONを生成します。サイズが重要なAPIペイロードやデータ転送に最適です。
- 2スペース: 最も一般的なフォーマットスタイルで、可読性とコンパクトさのバランスが取れています。多くの最新エディタのデフォルト設定です。
- 4スペース: 深くネストされた構造での最大級の可読性を提供します。一部のコーディング標準やドキュメントで好まれます。
ワークフローや使用するツールに最適なインデントレベルを選択してください。
TOONからJSONを使用する場面
このコンバーターは、以下のようなシナリオで役立ちます:
- デバッグ: TOONデータを馴染みのあるJSON形式に変換して、内容を簡単に分析・検査できます。
- 統合: 他のツールのTOON出力をJSONに戻し、JSONを必要とするAPI、データベース、またはアプリケーションで使用できます。
- 学習: TOONがどのようにJSON構造にマッピングされるかを確認することで、TOON形式を理解できます。
- 検証: 両方のコンバーターを介して変換を行う(ラウンドトリップ)ことで、TOONエンコーディングが元のデータ構造を保持しているかを確認できます。
TOONとJSON:違いを理解する
どちらの形式も構造化データを表現しますが、主な違いは以下の通りです:
| 機能 | TOON | JSON |
|---|---|---|
| 構文 | トークンベース、最小限の句読点 | 中括弧/大括弧による区切り |
| サイズ | コンパクト(最大70%削減) | 引用符や括弧により冗長 |
| 互換性 | TOONパーサーが必要 | 普遍的なサポート |
| ユースケース | コンパクトな保存、トークン最適化 | API、設定、データ交換 |
ラウンドトリップ変換
TOONからJSONへのコンバーターを、と組み合わせて使用し、ラウンドトリップ変換(双方向変換)を行えます。これは以下に役立ちます:
- エンコード後のデータ整合性の検証
- TOONエンコーディング設定のテスト
- 異なる設定が出力に与える影響の理解
- 変換前後のデータ比較
TOON形式は、可逆的なラウンドトリップ変換ができるように設計されています。JSONからTOONへ、そして再び戻すことで、等価なデータ構造が生成されるはずです。
例:TOONからJSON
// TOON入力
name: Alice
age: 25
hobbies[2]: coding,music
// JSON出力
{
"name": "Alice",
"age": 25,
"hobbies": ["coding", "music"]
}よくある質問(FAQ)
このコンバーターは何をするものですか?
TOON形式とは何ですか?
変換はローカルで行われますか?
どのようなインデントオプションがありますか?
JSONからTOONへの変換もできますか?
変換はロスレス(無劣化)ですか?
TOON入力が無効な場合はどうなりますか?
TOONとJSONのサイズを比較できますか?
参考文献
- TOON Project : : TOON 仕様およびドキュメント (2025) )2025( 経由 GitHub リポジトリhttps://github.com/toon-format/toon