JSON 整形 について
AstralJSON の整形ツールは、乱雑な JSON 文字列を読みやすく整った形に変換します。インデント幅の指定、構文チェック、本番用に JSON を圧縮するミニファイ機能を備えています。
AstralJSON の整形ツールは、乱雑な JSON 文字列を読みやすく整った形に変換します。インデント幅の指定、構文チェック、本番用に JSON を圧縮するミニファイ機能を備えています。
未整形のJSONを入力エディタに貼り付けるか入力します。
「整形」をクリックして、インデントの整ったきれいな書式を適用します。
1行のコンパクトな形式が必要な場合は、代わりに「圧縮」を使用します。
結果はワンクリックでコピーするか、クリアして最初からやり直せます。
圧縮されたJSONや手作業で編集したJSONは読みづらく、壊れやすいものです。整形によってインデントとスペースが一貫した状態に戻り、構造が一目で分かるようになります。しかも1バイトもサーバーへ送信されません。
一貫したインデントにより、入れ子になったオブジェクトや配列を簡単に見渡して確認できます。
整形ではまずJSONを解析するため、構文エラーが本番環境に届く前に明らかになります。
すべてはお使いのブラウザ内でローカルに動作します。JSONがデバイスから外に出ることはありません。
JSON の整形は表示上の判断であって、編集ではありません。解析器がテキストを値として読み取り、整形器がその値を改行と字下げつきで書き戻します。バイト列は変わり、データは変わりません。この区別は重要です。整形した文書を何も考えずに本番へ貼り戻せる保証がそこにあるからです。オブジェクトのキーの順序は書かれたとおりに保たれ、数値は値を保ち、文字列は引用符の内側の空白まで含めて中身をそのまま保ち、並べ替えも欠落も起こりません。
処理はすべてブラウザーのタブの中で行われます。テキストはページにすでに読み込まれている JavaScript の実行系によって解析され、整形され、編集欄へ書き戻されます。ネットワーク要求がそれをどこかへ運ぶことはありません。これは信じる必要がなく、確かめられます。ページを読み込み、通信を切り、それでも整形してみてください。必要なものはすでに手元にあるので、そのまま動きます。
この作りこそが要点であり、細部ではありません。人が整形する JSON が教科書の例であることはまずありません。たいていは調査中の API 応答であり、そこには認証トークン、セッション識別子、顧客のメールアドレス、内部のデータベース識別子、そして公開していない API の構造が日常的に含まれます。それらはまさに、他人の要求記録に一行として残ってはいけないものであり、受け取らない道具には記録するものがそもそもありません。
整形の選択のうち二つは意識して決める価値があります。字下げ幅は見た目の問題ですが、コード基盤とそろえることは差分の読みやすさに影響します。JavaScript の案件では空白二つ、それ以外では四つ、検査ツールが求めるならタブが一般的です。キーをアルファベット順に並べ替えるのはもっと重い判断です。二つの文書を一目で比較できるようになる一方、書き手が意図して選んだ順序を壊します。比較するときは複製を並べ替え、納品するものはそのままにしておいてください。
整形にできないのは、そもそも妥当でない JSON を直すことです。解析器が拒めばそれは構文の誤りであり、いくら整え直しても隠せません。末尾の余分なコンマ、文字列を囲む単一引用符、引用符のないキー、注釈、そして NaN は、手書きの設定ファイルではどれもよく見かけますが、どれも正しい JSON ではありません。検証器は位置を示します。どこを見ればよいかさえ分かれば、修正はたいてい一文字です。
身につける価値のある習慣として、比較する前に整形してください。逆ではありません。空白だけが違う二つの文書は雑音だらけの差分を生み、本当に変わった一行をその中に埋めてしまいます。両方を同じ形に整えれば、数秒で読める差分になります。それがこの道具の存在理由そのものです。
The same tool answers on HTTP. Free, 1,000 calls a day, no card, and one token works across every Astral API.
POST https://astraljson.com/api/v1/json-prettify