JSON整形ツールの使い方
- 上の入力欄にJSON文字列を貼り付けます。APIのレスポンス、設定ファイル、ログなど何でも構いません。
- インデント(スペース2つ・スペース4つ・タブ)を選んで整形を押すと、読みやすく整えられた結果が表示されます。
- 構文エラーがある場合は赤いメッセージとともにエラーの行・列が表示され、入力欄の該当位置にカーソルが移動します。
- 通信量を減らしたいときは圧縮を押して、空白と改行をすべて取り除きます。結果はコピーするか、.jsonファイルとして保存できます。
JSONの構文エラーが起きやすいケース
JSONはJavaScriptのオブジェクト表記に似ていますが、ルールはより厳格です。構文チェックでエラーが出た場合は、まず次の項目を確認してみてください。
| 誤った例 | 正しい例 | 説明 |
|---|---|---|
{'name': 'tanaka'} | {"name": "tanaka"} | 文字列とキーは必ずダブルクォートで囲む |
{name: "tanaka"} | {"name": "tanaka"} | キーにもクォートが必要 |
[1, 2, 3,] | [1, 2, 3] | 末尾のカンマ(trailing comma)は禁止 |
{"a": undefined} | {"a": null} | undefined、NaN、Infinityは使えない |
// コメント | (削除) | JSONにはコメントがない |
{"n": 012} | {"n": 12} | 数値の先頭に0を付けられない |
表示されるエラー位置は「最初にルールが破られた場所」です。実際のミスはそれより前(たとえば閉じ括弧を書き忘れた箇所)にあることも多いため、表示された行のすぐ上もあわせて確認してください。
なお、全角のダブルクォート(“ ”)や全角スペース、全角のコロン・カンマが混ざっていてもエラーになります。日本語入力のまま記号を打ってしまった場合によく起こるので注意しましょう。
JSONの整形(Beautify)と圧縮(Minify)の使い分け
整形は人が読むための形です。APIのレスポンスを確認するとき、設定ファイルを編集するとき、コードレビューでデータ構造を説明するときなどに使います。インデントはチームのルールに合わせればよく、JavaScript系ではスペース2つ、Python系ではスペース4つがよく使われます。
圧縮はコンピューター同士でやり取りするための形です。空白と改行をすべて取り除いてサイズを小さくするので、ネットワーク送信、ログへの1行出力、環境変数にJSONを入れるときなどに便利です。意味は整形したものとまったく同じです。
キー名順に並べ替えをオンにすると、オブジェクトのキーを名前順(アルファベット順など)に並べ替えます。2つのJSONを比較(diff)するとき、キーの順序の違いによる余計な差分をなくせます。配列内の順序には意味があるため、並べ替えません。
JSONのデータ型早わかり
- オブジェクト
{ }- 「"キー": 値」の組の集まり。キーは文字列である必要があります。 - 配列
[ ]- 値の順序付きリスト。異なる型を混在させられます。 - 文字列 - ダブルクォートで囲み、改行は
\n、ダブルクォートは\"と書きます。日本語はそのまま書いて問題ありません。 - 数値 - 整数・小数・指数表記(1e3)が使えます。クォートで囲むと文字列になります。
- true / false / null - すべて小文字で書きます。
Excelで使っていた表データをJSONに変換したい場合はCSV・JSON変換ツールを、トークンに含まれるJSONを取り出したい場合はBase64デコードツールもあわせてご利用ください。