文字列をJSONに変換
文字列をJSON形式に簡単に変換
入力
出力
文字列をJSONに変換とは?
JSONが文字列として届くことがあります:エスケープ済み、二重エンコード、または引用符で囲まれています。"{\"a\": 1}"のような文字列は、値がJSONであるJSON文字列です。解析するには、外側の文字列を解析してから内側のJSONを解析する必要があります。このツールはそれを実行します。入力がJSONとして解析されるべきプレーン文字列の場合も処理します。
このツールはブラウザでJSON.parse()を使用します。入力がJSONを含む文字列の場合、再度解析します。サーバーには送信されません。
使い方
文字列を貼り付け
解析したい文字列を貼り付けます。プレーンJSON文字列、エスケープされたJSON文字列(ログやAPIから)、または二重エンコードされた値の場合があります。サンプルまたはアップロードを使用してください。
解析結果を表示
右パネルに解析されたJSONが表示されます。入力がJSONを含む文字列だった場合、ツールは再度解析します。無効な入力はエラーを表示します。出力は読みやすくフォーマットされます。
コピー、ダウンロード、または圧縮
結果を取得するには<strong>コピー</strong>、<strong>ダウンロード</strong>、<strong>圧縮</strong>を使用してください。文字列のエスケープ/アンエスケープにはJSONエスケープを、検証にはJSONバリデーターを使用してください。
文字列をJSONに変換の例
エスケープまたは文字列化されたJSONを解析。通信テーマの例:
入力(JSON文字列)
解析結果
いつ必要か
データベースのテキスト列にJSONとして保存されていると、エスケープされた文字列として返ってくることがよくあります。JSONを別のJSON文字列でラップするAPIレスポンスは二重解析が必要です。JSONを文字列としてダンプするログも同様です。JSON仕様では文字列にエスケープされたJSONを含めることができます。その文字列を解析すると内部構造が得られます。このツールは追加の解析ステップを自動化します。
PostmanでAPIをテストしたり、DevToolsでレスポンスをデバッグしたりする際、文字列化されたJSON値を受け取ることがあります。JSON.parse()のドキュメントで解析ルールを確認できます。正式な標準はRFC 8259です。MDNのJSONガイドで一般的な落とし穴を確認できます。
文字列内の文字(引用符、バックスラッシュなど)をエスケープ/アンエスケープするにはJSONエスケープを、既に解析されたJSONのフォーマットにはJSONフォーマッターを使用してください。
よくある質問
入力が既に有効なJSONの場合は?
ツールは解析して結果を表示します。JSONを含む文字列の場合は再度解析します。したがって{"a": 1}は動作し、"{\"a\": 1}"は{"a": 1}を得るために2回解析されます。
何段階まで解析しますか?
結果が文字列である限り解析を続けます。したがって"\"{\\\"a\\\": 1}\""(三重エンコード)はオブジェクトが得られるまで解析されます。実際には通常2〜3段階が限界です。
データは送信されますか?
いいえ。解析はブラウザで実行されます。
文字列内の無効なJSONは?
解析エラーになります。構文(末尾のカンマ、引用符のないキーなど)を修正して再試行してください。JSONバリデーターで問題を特定できます。
二重エンコードされたJSONはいつ発生しますか?
JSONがデータベースの列に文字列として保存されている場合、またはAPIが値の1つが文字列化されたJSONであるJSONオブジェクトを返す場合です。外側のJSONを解析すると文字列が得られ、その文字列を解析すると内側のJSONが得られます。
関連ツール
JavaScriptでのJSON解析についてはMDN JSON.parseとMDN JSONガイドを参照してください。RFC 8259でJSON構文が定義されています。json.orgのJSON仕様で文法を確認できます。jqとPostmanも参照してください。文字列のエスケープにはJSONエスケープを使用してください。