把文字編碼為 JSON 字串字面值,或把雙重編碼的 JSON 字串解碼回純文字。
相關
LLMs frequently return JSON wrapped in ```json fences, with single quotes, Python literals, or unquoted keys. Repair the syntax, validate strictly, then derive TypeScript types from the cleaned output.
對 JSON 進行 stringify 時,會用雙引號包裹並跳脫內部引號與特殊字元,得到一個可以安全嵌入到別處的 JSON 字串字面值。
JSON 字串與物件鍵必須使用雙引號。單引號值常見於 JavaScript 片段、類似 Python 的輸出,以及 LLM 回應中。
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 字串、想取出裡面真實值時非常有用。
點擊 Unstringify,或直接對那個值執行一次 JSON.parse。如果你收到的是一個以跳脫引號開頭的雙重編碼字串,先 parse 一次取回內部 JSON 字串,再 parse 一次拿到真正的值。
是的。json to string 指的是把一個 JSON 值轉成字串字面值形式,這正是 Stringify 所做的事。json unescape / unescape json 是反向 —— 點 Unstringify 就能去掉跳脫序列,還原為原始 JSON。