logo
GeekFormat

JSON フォーマッター

内容はまだありません

preview.json
準備完了

無料オンラインJSONフォーマットツール。JSONの美化、検証、圧縮、JSONツリーでの視覚的編集に対応。構文エラー検出と自動修復を内蔵し、13種類のプログラミング言語(TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML)へのコード変換をサポート。APIデバッグ、設定チェック、ログ閲覧に最適です。

関連おすすめ

ユースケース

  • APIレスポンスの1行JSONを読みやすい構造に美化して、問題をトラブルシューティングする必要がある
  • 設定ファイル、ログフィールドをフォーマットしてからさらに処理する必要がある
  • 開発デバッグ時にJSONが有効かどうかをすばやく検証し、サイズを圧縮する必要がある
  • JSONをTypeScriptインターフェース、Javaクラス、Python辞書などのコード形式に変換する必要がある
  • 2つのAPIレスポンスを比較する際に、キー名でソートしてからフィールドごとに差分を確認する
  • サードパーティAPIの複雑なネスト構造を整理し、ツリービューまたはマインドマップで階層をすばやく理解する
  • 圧縮された計測ログ、Webhookデータを展開して読み、異常なフィールドを特定する
  • ローカル環境変数または設定内のコンパクトなJSONをフォーマットして編集し、圧縮して書き戻す

特徴

  • JSON美化がより直感的:1行のデータをすばやく読みやすい階層構造に整理し、2/4スペースまたはTabインデントに切り替え可能
  • 検証と圧縮に対応:構文エラーをリアルタイムで検出して位置を正確に表示し、ワンクリックで最もコンパクトな1行に圧縮
  • 13種類のプログラミング言語へのコード変換:TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XMLをワンクリックで生成
  • JSONツリービューでの視覚的編集:ノードを折りたたんで展開し、深くネストされた構造を直感的に表示・変更
  • マインドマップビュー:ノードと接続線でオブジェクト/配列の親子関係を表現し、複雑な構造の整理に最適
  • キー名ソート:アルファベットの昇順/降順でオブジェクトのキーを並べ替え、差分比較とフィールド順序の正規化に便利
  • 大きなファイルもスムーズに処理:仮想スクロール+Web Workerによるバックグラウンド解析で、数MBのJSONでもカクつかない
  • プライバシーセキュリティ:すべてブラウザのローカルで実行され、データは一切アップロードされないため、鍵を含むレスポンスも安心して処理可能
  • 便利な操作:ファイルのアップロード/ダウンロード、ワンクリックコピー、履歴の戻る、URL共有など、必要な機能がすべて揃っている

使い方

  1. JSONの内容を貼り付けるか、JSONファイルをアップロード
  2. 美化、圧縮、検証モードを選択するか、ツリービュー/マインドマップに切り替えて視覚的に確認
  3. フォーマット後の階層構造とエラーメッセージを確認し、必要に応じてコード変換に切り替えてターゲット言語の構造を生成
  4. 処理後の内容をコピー、ファイルをダウンロード、または共有リンクを生成

よくある質問

1行のJSONをすばやく読みやすい構造にフォーマットするにはどうすればよいですか?

JSONの内容を貼り付けるだけですばやく美化でき、APIレスポンス、設定ファイル、ログフィールドの確認に適しています。ツールが自動的にインデントと改行を追加し、コンパクトなデータを明確な階層構造に整理します。デフォルトでは2スペースインデントを使用しますが、ツールバーでインデントサイズを切り替えることもできます。

JSONフォーマットとJSON修復の違いは何ですか?

JSONフォーマットはそれ自体は有効だが読みにくい内容の処理に適しており、JSON修復はエラー、引用符の欠落、末尾のカンマなどの無効な構造の処理に適しています。フォーマット時にエラーが表示される場合は、先にJSON修復を行うことをお勧めします。簡単に言うと、フォーマットはレイアウトを調整するだけで内容を変更しませんが、修復は欠落した引用符や括弧を補い、余分なカンマを削除して有効なJSONに戻そうとします。

JSONをフォーマットするとエラーが表示されるのはなぜですか?

通常、内容自体が有効なJSONではないことが原因です。例えば、コメントが含まれている、単一引用符が使用されている、末尾のカンマがある、括弧が閉じていないなどです。JSON仕様(RFC 8259)では、キー名は二重引用符で囲む必要があり、文字列に単一引用符は使用できず、最後の要素の後にカンマを置くことはできず、// や /* */ のコメントは許可されていません。このような場合は、先にJSON修復を行ってからフォーマットすることをお勧めします。

APIデバッグやログレスポンスの確認に適していますか?

非常に適しています。APIレスポンス、Webhookデータ、計測ログ、設定スニペットは、多くの場合、トラブルシューティングの前にフォーマットする必要があります。ツールはJSONツリービューでの視覚的編集、マインドマップビュー、13種類のプログラミング言語へのコード変換もサポートしており、データ構造をすばやく理解するのに役立ちます。

JSONをTypeScriptインターフェースやJavaクラスに変換できますか?

はい。ツールはJSONをTypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XMLの計13種類の形式に変換し、ワンクリックで対応するコード構造を生成できます。APIレスポンスからフロントエンドとバックエンドのデータモデルをすばやく生成するのに非常に適しています。

フォーマットしたJSONデータはサーバーにアップロードされますか?

いいえ。すべてのフォーマット、検証、圧縮、コード変換は完全にブラウザのローカルで実行され、データがサーバーにアップロードされることはありません。鍵、トークン、ユーザープライバシーを含むAPIレスポンスを処理する場合も安全で、ページを閉じるとデータは消去されます。

大きなJSONファイルを処理できますか?

はい。ツールは仮想スクロールレンダリングとWeb Workerによるバックグラウンド解析を採用しており、数MBのJSONでもスムーズにフォーマットして閲覧でき、ページがフリーズすることはありません。超大きなファイルの場合は、貼り付けるのではなくJSONファイルを直接アップロードすることをお勧めします。より安定したパフォーマンスが得られます。

JSON圧縮(Minify)の用途は何ですか?

圧縮はJSON内のすべての余分なスペースと改行を削除し、最もコンパクトな1行の結果を取得します。これにより、サイズが大幅に削減され、帯域幅とストレージが節約されます。API転送、設定への書き込み、コードへの埋め込み、環境変数として使用する場合によく使われます。圧縮後のJSONはフォーマット前とセマンティクス的に完全に一致しますが、人が読むには不便になります。

JSONツリービューとマインドマップビューとは何ですか?

ツリービューはJSONを折りたたみ可能な階層ツリーとしてレンダリングし、ノードの展開/折りたたみ、フィールドの視覚的編集をサポートしており、深くネストされたデータの閲覧に適しています。マインドマップビューは構造をノードと接続線で表現し、オブジェクトと配列の親子関係を視覚的に表示するため、複雑なデータ構造を整理したり、プレゼンテーションで説明したりするのに適しています。

フォーマット後にキー名でソートできますか?

はい。ツールはキー名ソート機能を提供しており、アルファベットの昇順または降順でオブジェクトのキーを並べ替えることができます。これにより、2つのJSONの差分を比較したり、設定ファイルのフィールド順序を正規化したり、コードレビューのためにAPIフィールドを固定順序で表示したりするのに便利です。

フォーマット結果を同僚と共有できますか?

はい。ツールは現在のJSON内容をURLに圧縮エンコードして、共有可能なリンクを生成する機能をサポートしています。相手がリンクを開くと同じデータが表示され、サーバーへのアップロードは不要です。APIの問題をすばやく共同でトラブルシューティングしたり、データシナリオを再現したりするのに適しています。

JSONとJSONフォーマットについて

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データ型早見表

JSONには6種類の値タイプしかありません。これらを理解すると、データが有効かどうかをすばやく判断し、プログラミング言語の型にどのようにマッピングするかを理解するのに役立ちます。

説明
string"hello"文字列。二重引用符で囲む必要があり、エスケープ文字と\uXXXX Unicodeエンコーディングをサポートします。
number25 / 3.14 / -1e5数値。整数、小数、指数表記をサポートし、倍精度浮動小数点数として解析され、整数型と浮動小数点型は区別されません。
booleantrue / falseブール値。小文字のtrueまたはfalseのみ使用できます。
nullnullnull値。データがないことを示し、小文字である必要があり、空文字列や0とは異なります。
object{"k": "v"}オブジェクト。中括弧で囲まれたキーと値のペアのコレクションで、キーは二重引用符で囲まれた文字列である必要があります。
array[1, 2, 3]配列。角括弧で囲まれた順序付けられた値のリストで、要素の型は異なっていてもかまいません。

JSON文字列エスケープ文字表

JSON文字列内の以下の文字は、バックスラッシュでエスケープする必要があります。そうしないと、解析エラーが発生します。

エスケープ意味
\"二重引用符
\\バックスラッシュ
\/スラッシュ(エスケープはオプション)
\n改行文字
\r復帰文字
\tタブ文字
\bバックスペース文字
\f改ページ文字
\uXXXX4桁の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が必要です

Code Examples

JavaScript:JSON.stringifyを使用してJSONをフォーマット

javascript

ブラウザと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モジュールを使用してフォーマット

python

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をフォーマット

bash

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 '.'

Privacy & Security

本ツールのすべてのJSONフォーマット、検証、圧縮、コード変換は完全にお使いのブラウザのローカルで実行され、データがいかなるサーバーにもアップロードされることはなく、リモートに記録またはキャッシュされることもありません。鍵、トークン、ユーザー情報を含むAPIレスポンスを処理する場合も安全で、ページを閉じるか更新するとデータは消去されます。

Authoritative References

Troubleshooting

Unexpected token ... in JSON(予期しない文字/構文エラー)

ほとんどの場合、単一引用符の使用、キー名が二重引用符で囲まれていない、または// 、/* */ コメントが含まれていることが原因です。JSON仕様では、すべての文字列とキー名は二重引用符で囲む必要があり、コメントはサポートされていません。二重引用符に変更してコメントを削除するか、先にJSON修復ツールで処理してください。

Unexpected end of JSON input(内容が予期せず終了)

通常、括弧{}または[]、引用符が正しく閉じていないため、JSONが不完全です。構造が対になって閉じているか確認してください。APIレスポンスを貼り付ける際に、内容の一部しかコピーされていない可能性もあります。完全にコピーされていることを確認してください。

末尾のカンマによるエラー(Trailing comma)

JSONでは、オブジェクトまたは配列の最後の要素の後にカンマを置くことは許可されていません。例えば{"a":1,}や[1,2,]は無効です。余分なカンマを削除してください。JavaScriptオブジェクトでは末尾のカンマが許可されていますが、JSONでは許可されていないため、コードからコピーする場合は特に注意してください。

中国語や特殊文字が\uXXXXとして表示される

これはJSONのUnicodeエスケープ表記であり、それ自体は有効です。フォーマット後も正常に解析できます。中国語を直接表示したい場合は、生成側でエスケープしないように設定してください(Pythonのensure_ascii=False、GoのHTMLエスケープをオフにするなど)。

大きな数値の精度が失われる(IDが指数表記になるか末尾が0になる)

JSONの数値はIEEE 754倍精度浮動小数点数として解析されるため、2^53を超える整数(スノーフレークID、注文番号など)は精度が失われます。解決策は、転送時に大きな整数を文字列で囲むことです。つまり"id": "9007199254740993"のようにして、数値として解析されることを回避します。

フォーマット後に1行に戻したい

「圧縮/Minify」に切り替えるだけで、美化後の複数行のJSONを最もコンパクトな1行に戻すことができ、API転送、設定への書き込み、コードへの埋め込みに使用できます。圧縮と美化は互いに逆の操作であり、データ内容は変更されません。