字符串转 JSON 工具

string → json

粘贴转义或字符串化的字符串,即可得到格式化的 JSON。您的浏览器在本标签页中解析,文本不会上传。

工作区不会上传任何文件
0 B
0 B

关于这款字符串转 JSON 工具

日志、API 响应和数据库字段常常把 JSON 存成字符串,每个引号都被转义,有时还被字符串化了两次。把这样的字符串粘贴到左侧输入框,工具会去掉字符串层,解析剩下的内容,并在您输入的同时把格式化的 JSON 写进右侧输出框。

它接受带引号的字符串字面量、去掉外层引号的同一段文本,或者本身已经有效的 JSON。输入无法解析时,状态行会给出 JSON 解析器拒绝的第一个字符所在的行和列,点击“跳到错误处”即可选中它。

使用方法

01

添加字符串

粘贴、输入,或打开不超过 10 MB 的 .txt 或 .json 文件。也可以把文件拖到左侧输入框上。

02

选择排版

选择 2 个空格、4 个空格、制表符或压缩成单行;如果希望键的顺序固定,请勾选“按 A 到 Z 排序键”。

03

复制或下载

“复制”把 JSON 放到剪贴板。“下载 .json”把它保存为 converted.json,而且只在您点击时保存。

功能

  • 最多去除 10 层字符串编码,所以被字符串化两次的数据也能还原成对象。
  • 无论转义字符串是否带外层引号都能读取。
  • 输入不超过 50 万个字符时边输入边转换。更长的输入在点击“转换为 JSON”或按 Ctrl+Enter 时才运行。
  • 显示顶层类型、键或元素的数量、嵌套深度,以及去除了多少层字符串。
  • 给出第一个无效字符的行和列,并在输入框中选中它。

技术规格

规格 说明
输入 输入或粘贴的文本,或不超过 10 MB 的 .txt 或 .json 文件
输出 以 2 个空格、4 个空格或制表符缩进的 JSON,或压缩成单行
可去除的字符串层数 最多 10 层
实时转换 不超过 50 万个字符;更长的输入在点击时转换
输出文件名 converted.json
依赖库 无。由浏览器自带的 JSON.parse 和 JSON.stringify 完成
使用须知

这款工具不支持的功能

它只解析严格的 JSON,不接受更宽松的写法。以下情况不在范围内。

不支持宽松语法

单引号、不带引号的键、末尾逗号和注释都会被报告为错误。工具不会修复它们。

大数字会丢失精度

数字要经过 JavaScript 处理,所以超过 9007199254740991 的整数或很长的小数会被舍入。

重复的键会合并

对象中出现重复的键时,只保留最后一个值,与 JSON.parse 的行为一致。

数字键会排到前面

JavaScript 会把整数形式的键按数值顺序排在最前,所以含有这类键的对象返回时顺序会变。

纯数字字符串仍是字符串

值 "123" 会保持为字符串。只有内容是对象、数组或另一个带引号字符串的字符串才会被展开。

相关工具

常见问题

不会。解析和格式化都使用浏览器内置的 JSON 函数,在本标签页中完成。工具不下载任何库,也没有任何请求携带您的文本。

就是被转换成字符串不止一次的 JSON,所以它的引号前面带有一个或多个反斜杠。工具会一直解析,直到得到对象或数组,最多 10 层。

文本在所示位置违反了 JSON 规则。常见原因有单引号、末尾逗号、不带引号的键,或者字符串在结束引号之前被截断。

“按 A 到 Z 排序键”会把每个对象每一层的键按字母顺序排列,大写字母排在小写字母之前。整数形式的键排在最前,按数值顺序。数组的顺序永远不变。

打开的文件最大 10 MB。粘贴的文本没有固定上限,但超过 50 万个字符时,只有点击按钮才会转换。

文本始终留在您的设备上

浏览器自带的 JSON 函数在本标签页中解析字符串。您粘贴或打开的内容不会发送到任何地方,工具也不会为此下载任何库。