JSON フォーマッター
内容はまだありません
無料オンラインJSONフォーマットツール。JSONの美化、検証、圧縮、JSONツリーでの視覚的編集に対応。構文エラー検出と自動修復を内蔵し、13種類のプログラミング言語(TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML)へのコード変換をサポート。APIデバッグ、設定チェック、ログ閲覧に最適です。
内容はまだありません
無料オンラインJSONフォーマットツール。JSONの美化、検証、圧縮、JSONツリーでの視覚的編集に対応。構文エラー検出と自動修復を内蔵し、13種類のプログラミング言語(TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML)へのコード変換をサポート。APIデバッグ、設定チェック、ログ閲覧に最適です。
JSONの内容を貼り付けるだけですばやく美化でき、APIレスポンス、設定ファイル、ログフィールドの確認に適しています。ツールが自動的にインデントと改行を追加し、コンパクトなデータを明確な階層構造に整理します。デフォルトでは2スペースインデントを使用しますが、ツールバーでインデントサイズを切り替えることもできます。
JSONフォーマットはそれ自体は有効だが読みにくい内容の処理に適しており、JSON修復はエラー、引用符の欠落、末尾のカンマなどの無効な構造の処理に適しています。フォーマット時にエラーが表示される場合は、先にJSON修復を行うことをお勧めします。簡単に言うと、フォーマットはレイアウトを調整するだけで内容を変更しませんが、修復は欠落した引用符や括弧を補い、余分なカンマを削除して有効なJSONに戻そうとします。
通常、内容自体が有効なJSONではないことが原因です。例えば、コメントが含まれている、単一引用符が使用されている、末尾のカンマがある、括弧が閉じていないなどです。JSON仕様(RFC 8259)では、キー名は二重引用符で囲む必要があり、文字列に単一引用符は使用できず、最後の要素の後にカンマを置くことはできず、// や /* */ のコメントは許可されていません。このような場合は、先にJSON修復を行ってからフォーマットすることをお勧めします。
非常に適しています。APIレスポンス、Webhookデータ、計測ログ、設定スニペットは、多くの場合、トラブルシューティングの前にフォーマットする必要があります。ツールはJSONツリービューでの視覚的編集、マインドマップビュー、13種類のプログラミング言語へのコード変換もサポートしており、データ構造をすばやく理解するのに役立ちます。
はい。ツールはJSONをTypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XMLの計13種類の形式に変換し、ワンクリックで対応するコード構造を生成できます。APIレスポンスからフロントエンドとバックエンドのデータモデルをすばやく生成するのに非常に適しています。
いいえ。すべてのフォーマット、検証、圧縮、コード変換は完全にブラウザのローカルで実行され、データがサーバーにアップロードされることはありません。鍵、トークン、ユーザープライバシーを含むAPIレスポンスを処理する場合も安全で、ページを閉じるとデータは消去されます。
はい。ツールは仮想スクロールレンダリングとWeb Workerによるバックグラウンド解析を採用しており、数MBのJSONでもスムーズにフォーマットして閲覧でき、ページがフリーズすることはありません。超大きなファイルの場合は、貼り付けるのではなくJSONファイルを直接アップロードすることをお勧めします。より安定したパフォーマンスが得られます。
圧縮はJSON内のすべての余分なスペースと改行を削除し、最もコンパクトな1行の結果を取得します。これにより、サイズが大幅に削減され、帯域幅とストレージが節約されます。API転送、設定への書き込み、コードへの埋め込み、環境変数として使用する場合によく使われます。圧縮後のJSONはフォーマット前とセマンティクス的に完全に一致しますが、人が読むには不便になります。
ツリービューはJSONを折りたたみ可能な階層ツリーとしてレンダリングし、ノードの展開/折りたたみ、フィールドの視覚的編集をサポートしており、深くネストされたデータの閲覧に適しています。マインドマップビューは構造をノードと接続線で表現し、オブジェクトと配列の親子関係を視覚的に表示するため、複雑なデータ構造を整理したり、プレゼンテーションで説明したりするのに適しています。
はい。ツールはキー名ソート機能を提供しており、アルファベットの昇順または降順でオブジェクトのキーを並べ替えることができます。これにより、2つのJSONの差分を比較したり、設定ファイルのフィールド順序を正規化したり、コードレビューのためにAPIフィールドを固定順序で表示したりするのに便利です。
はい。ツールは現在のJSON内容をURLに圧縮エンコードして、共有可能なリンクを生成する機能をサポートしています。相手がリンクを開くと同じデータが表示され、サーバーへのアップロードは不要です。APIの問題をすばやく共同でトラブルシューティングしたり、データシナリオを再現したりするのに適しています。
JSON(JavaScript Object Notation)は軽量なデータ交換フォーマットで、キーと値のペアと配列の構造を使用してデータを表現します。そのシンプルさ、読みやすさ、言語を問わない特性から、Web API、設定ファイル、ログ、フロントエンドとバックエンド間のデータ転送の事実上の標準となっています。JSONには文字列、数値、ブール値、null、オブジェクト、配列の6種類の基本値タイプしかなく、構文ルールはRFC 8259とECMA-404の2つの標準で共同で定義されています。
JSONフォーマット(JSON美化、JSON Beautifyとも呼ばれる)は、データ内容を変更せずに、コンパクトなJSONに適切なインデントと改行を追加し、階層構造を持つ人が読みやすい形式に整理することです。APIレスポンス、ログ、ストレージ内のJSONは多くの場合、1行に圧縮されているため、直接読むのは非常に困難です。フォーマットすると、オブジェクトのネスト、配列要素、各フィールドの値が明確に表示されます。
フォーマットの反対の操作はJSON圧縮(Minify)です。これは、すべての不要な空白文字を削除し、JSONを最もコンパクトな1行形式に戻して、転送サイズを削減するために使用されます。フォーマットと圧縮は可逆な操作のペアであり、どちらもJSONのセマンティクスを変更せず、可読性とサイズにのみ影響します。
JSON検証は、テキストがJSON構文仕様に準拠しているかどうかをチェックすることです。よくある無効な記述には、二重引用符の代わりに単一引用符を使用する、キー名を引用符で囲まない、最後の要素の後に余分な末尾のカンマがある、// や /* */ のコメントが含まれる、括弧や引用符が正しく閉じていない、などがあります。これらは有効なJSONではなく、フォーマット時にエラーが発生します。このような場合は、先にJSON修復ツールで処理してからフォーマットしてください。
本ツールはフォーマットに加えて、ツリービュー、マインドマップビュー、13種類のプログラミング言語へのコード変換機能も提供します:JSONを折りたたみ可能な視覚的な階層ツリーにして深い構造を閲覧したり、APIレスポンスのJSONをワンクリックでTypeScriptインターフェース、Javaクラス、Python辞書、データベースのCREATE TABLE文に変換して開発に直接使用したりできます。すべての処理はブラウザのローカルで完了し、データがサーバーにアップロードされることはありません。
JSONには6種類の値タイプしかありません。これらを理解すると、データが有効かどうかをすばやく判断し、プログラミング言語の型にどのようにマッピングするかを理解するのに役立ちます。
| 型 | 例 | 説明 |
|---|---|---|
string | "hello" | 文字列。二重引用符で囲む必要があり、エスケープ文字と\uXXXX Unicodeエンコーディングをサポートします。 |
number | 25 / 3.14 / -1e5 | 数値。整数、小数、指数表記をサポートし、倍精度浮動小数点数として解析され、整数型と浮動小数点型は区別されません。 |
boolean | true / false | ブール値。小文字のtrueまたはfalseのみ使用できます。 |
null | null | null値。データがないことを示し、小文字である必要があり、空文字列や0とは異なります。 |
object | {"k": "v"} | オブジェクト。中括弧で囲まれたキーと値のペアのコレクションで、キーは二重引用符で囲まれた文字列である必要があります。 |
array | [1, 2, 3] | 配列。角括弧で囲まれた順序付けられた値のリストで、要素の型は異なっていてもかまいません。 |
JSON文字列内の以下の文字は、バックスラッシュでエスケープする必要があります。そうしないと、解析エラーが発生します。
| エスケープ | 意味 |
|---|---|
\" | 二重引用符 |
\\ | バックスラッシュ |
\/ | スラッシュ(エスケープはオプション) |
\n | 改行文字 |
\r | 復帰文字 |
\t | タブ文字 |
\b | バックスペース文字 |
\f | 改ページ文字 |
\uXXXX | 4桁の16進数で表現されるUnicode文字 |
以下に、つまずきやすい無効なJSONの記述とその有効な形式を示します。フォーマット時にエラーが発生した場合は、対照して確認してください。
| 無効な記述 | 有効な記述 | 説明 |
|---|---|---|
{name: "a"} | {"name": "a"} | キー名は二重引用符で囲む必要があります |
{'name': 'a'} | {"name": "a"} | 文字列は二重引用符で囲む必要があり、単一引用符は使用できません |
{"a": 1,} | {"a": 1} | 末尾のカンマは許可されていません |
{"a": 1} // コメント | {"a": 1} | JSONはコメントをサポートしていません |
{"a": undefined} | {"a": null} | undefinedはなく、nullを使用して空値を表します |
{"a": .5} | {"a": 0.5} | 小数には整数部の0が必要です |
ブラウザとNode.jsに組み込まれているJSON.stringifyの第3引数でインデントを指定でき、最も一般的なプログラミング方法でJSONをフォーマットできます。
const data = { name: '张三', age: 25, tags: ['a', 'b'] };
// 美化:第3引数がインデントのスペース数('\t'を渡すとTabも使用可能)
const pretty = JSON.stringify(data, null, 2);
console.log(pretty);
// 圧縮:第3引数を渡さないと最もコンパクトな1行になる
const mini = JSON.stringify(data);
console.log(mini); // {"name":"张三","age":25,"tags":["a","b"]}
// 文字列をオブジェクトに解析(構文を検証し、無効な場合はSyntaxErrorをスロー)
const obj = JSON.parse(pretty);Python標準ライブラリのjsonは、indentパラメータとensure_asciiパラメータでインデントと中国語の表示を制御します。
import json
data = {"name": "张三", "age": 25, "tags": ["a", "b"]}
# 美化出力、indentでインデントを指定、ensure_ascii=Falseで中国語を保持
pretty = json.dumps(data, indent=2, ensure_ascii=False)
print(pretty)
# 圧縮出力:最もコンパクトな区切り文字を使用
mini = json.dumps(data, separators=(",", ":"), ensure_ascii=False)
print(mini)
# 文字列を解析(無効な場合はjson.JSONDecodeErrorをスロー)
obj = json.loads(pretty)jqはコマンドラインでJSONを処理するための強力なツールで、すばやく美化、圧縮、フィールド抽出ができます。
# 美化(デフォルトで2スペースインデント) cat data.json | jq '.' # 1行に圧縮 cat data.json | jq -c '.' # 指定したフィールドを抽出 cat data.json | jq '.user.name' # curlの結果を直接パイプで美化 curl -s https://api.example.com/user | jq '.'
本ツールのすべてのJSONフォーマット、検証、圧縮、コード変換は完全にお使いのブラウザのローカルで実行され、データがいかなるサーバーにもアップロードされることはなく、リモートに記録またはキャッシュされることもありません。鍵、トークン、ユーザー情報を含むAPIレスポンスを処理する場合も安全で、ページを閉じるか更新するとデータは消去されます。
ほとんどの場合、単一引用符の使用、キー名が二重引用符で囲まれていない、または// 、/* */ コメントが含まれていることが原因です。JSON仕様では、すべての文字列とキー名は二重引用符で囲む必要があり、コメントはサポートされていません。二重引用符に変更してコメントを削除するか、先にJSON修復ツールで処理してください。
通常、括弧{}または[]、引用符が正しく閉じていないため、JSONが不完全です。構造が対になって閉じているか確認してください。APIレスポンスを貼り付ける際に、内容の一部しかコピーされていない可能性もあります。完全にコピーされていることを確認してください。
JSONでは、オブジェクトまたは配列の最後の要素の後にカンマを置くことは許可されていません。例えば{"a":1,}や[1,2,]は無効です。余分なカンマを削除してください。JavaScriptオブジェクトでは末尾のカンマが許可されていますが、JSONでは許可されていないため、コードからコピーする場合は特に注意してください。
これはJSONのUnicodeエスケープ表記であり、それ自体は有効です。フォーマット後も正常に解析できます。中国語を直接表示したい場合は、生成側でエスケープしないように設定してください(Pythonのensure_ascii=False、GoのHTMLエスケープをオフにするなど)。
JSONの数値はIEEE 754倍精度浮動小数点数として解析されるため、2^53を超える整数(スノーフレークID、注文番号など)は精度が失われます。解決策は、転送時に大きな整数を文字列で囲むことです。つまり"id": "9007199254740993"のようにして、数値として解析されることを回避します。
「圧縮/Minify」に切り替えるだけで、美化後の複数行のJSONを最もコンパクトな1行に戻すことができ、API転送、設定への書き込み、コードへの埋め込みに使用できます。圧縮と美化は互いに逆の操作であり、データ内容は変更されません。