オンライン JSON Stringify
テキストを JSON 文字列リテラルとしてエンコードしたり、二重エンコードされた JSON 文字列をプレーンテキストにデコードします。
関連
Stringify のガイド
LLM の JSON 出力を修復:AI からの「ほぼ JSON」を扱う
LLM は ```json フェンスで囲まれた JSON を、単一引用符、Python リテラル、引用符なしのキーとともに返すことがよくあります。構文を修復し、厳格に検証し、クリーンアップした出力から TypeScript の型を導きます。
JSON を文字列リテラルとしてエスケープ(二重エンコードされた JSON のデコード)
JSON を stringify すると、内側の引用符と特殊文字がエスケープされ、二重引用符で囲まれた JSON 文字列リテラルになり、安全に他の場所へ埋め込めます。
JSON のシングルクォートを修正
JSON の文字列とオブジェクトキーは二重引用符を使う必要があります。シングルクォートの値は JavaScript の断片、Python 風の出力、LLM の応答でよく見かけます。
JSON Stringify とは
JSON.stringify() は値を JSON 文字列に変換します。すでに JSON である文字列に対して使うと、JSON 文字列リテラル が得られます —— 元の JSON が二重引用符で囲まれ、内部の引用符と特殊文字がエスケープされたものです。JSON を別の JSON ドキュメントに埋め込んだり、データベースのフィールドに保存したり、URL のパラメータとして渡したいときに必要になります。
他の言語では同じことを異なる名前で呼びます:Python の json.dumps(json dumps python、* json dumps in python*、python json dump、python dict to json、* python pretty print dict*、python pretty print json、* python print nice json* とも検索され、python pprint / pprint python 経由でも使われます)、Ruby の JSON.generate、Go の json.Marshal、Java の org.json と Jackson、.NET の Newtonsoft JSON(Newtonsoft.Json)、PHP の json_encode はいずれも同じ種類の出力を生み出します —— json object as string(** json to json string** や stringify json とも検索されます)。逆操作は JSON.parse、json.loads などです —— 入力が壊れている可能性がある場合は、JSON バリデータ と JSON Fix ツールで処理できます。
例
入力:
{"name": "Ada", "active": true}
Stringify 後の出力:
"{\"name\": \"Ada\", \"active\": true}"
Unstringify をクリックすれば逆方向 —— 二重エンコードされた JSON 文字列を受け取り、内部の本物の値を取り出したいときに役立ちます。
FAQ
stringify を元に戻すには(JSON 文字列リテラルをデコードする)?
Unstringify をクリックするか、その値に対して JSON.parse を実行してください。受け取ったものがエスケープされた引用符で始まる二重エンコードの文字列なら、まず一度 parse して内側の JSON 文字列を取り出し、もう一度 parse して本当の値を得ます。
これは「json to string」や「json unescape」と同じですか?
はい。json to string は JSON 値を文字列リテラルの形にすることを指し、まさに Stringify が行う処理です。json unescape / ** unescape json** は逆方向 —— Unstringify をクリックすると、エスケープシーケンスを取り除いて元の JSON に戻せます。