在线 JSON Stringify
将文本编码为 JSON 字符串字面量,或将被双重编码的 JSON 字符串解码回纯文本。
相关
与 Stringify 相关的指南
什么是 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。