input.txt
output.json
把任意文本编码为 JSON 字符串字面量,或反向解码。

相关

与 Stringify 相关的指南

全部指南 →

什么是 JSON Stringify?

JSON.stringify() 把一个值转换为 JSON 字符串。当对一个本身就是 JSON 的字符串使用它时,会得到一个 JSON 字符串字面值 —— 原本的 JSON 被双引号包起来,内部引号和特殊字符都被转义。在把 JSON 嵌入到另一份 JSON 文档里、存进数据库字段,或者作为 URL 参数传递时,常常需要这种形式。

其他语言用不同的名字称呼同一件事:Python 的 json.dumps(也常被搜索为 json dumps python json dumps in pythonpython json dumppython dict to json python pretty print dictpython 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 stringstringify json)。反向操作是JSON.parsejson.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。