Javascript 如何从JSON.stringify中删除转义序列,使其';什么是人类可读的?

Javascript 如何从JSON.stringify中删除转义序列,使其';什么是人类可读的?,javascript,json,Javascript,Json,当我在JavaScript中对一个复杂对象调用JSON.stringify()时,它会生成一个包含大量转义序列(\“,\ \”等)的字符串 如何让它创建一个人类可读的JSON字符串?也就是说,您可以复制/粘贴到web上众多JSON验证器中的一个 为了澄清这一点,我最关心的是删除转义序列。您可以在上使用格式设置 '\t'表示制表符 JSON.stringify({ uno: 1, dos: 2 }, null, '\t'); // returns the string: // '{ //

当我在JavaScript中对一个复杂对象调用JSON.stringify()时,它会生成一个包含大量转义序列(\“,\ \”等)的字符串

如何让它创建一个人类可读的JSON字符串?也就是说,您可以复制/粘贴到web上众多JSON验证器中的一个

为了澄清这一点,我最关心的是删除转义序列。

您可以在上使用格式设置

'\t'
表示制表符

JSON.stringify({ uno: 1, dos: 2 }, null, '\t');
// returns the string:
// '{
//     "uno": 1,
//     "dos": 2
// }'
空格:一个字符串或数字对象,用于在输出JSON字符串中插入空格,以便于可读

Replacer:一个改变字符串化过程行为的函数,或者一个字符串和数字对象数组,用作白名单,用于选择要包含在JSON字符串中的值对象的属性。如果此值为null或未提供,则生成的JSON字符串中包含对象的所有属性

所以你可以

var x={“name”:“void”,“type”:“O'\“Rielly”};

document.write(JSON.stringify(x,null');
您可以使用替换程序。JSON.stringify.replacer提供的第二个参数可以是函数或数组

在您的情况下,我们可以创建一个函数,用空格替换所有特殊字符。下面的示例替换空格和下划线

function replacer(key, value) {
  return value.replace(/[^\w\s]/gi, '');
}

var foo = {"a":"1","b":2};
var jsonString = JSON.stringify(foo, replacer);
如果只想替换一个特殊字符,请使用:

JSON.stringify({ a: 1, b: 2 }, null, '\t');
有关replacer的更多信息,请查看MDN页面。

我会使用

JSON.stringify()
方法将JavaScript值转换为JSON字符串,如果指定了替换函数,则可以选择替换值;如果指定了替换数组,则可以选择仅包含指定的属性

有四个空格和一个适当的显示环境,


const foo = {
    A: 'This is my \\',
    B: 'This \\ is his \\'
};

let jsonString = JSON.stringify(foo, null, 2);

document.write(jsonString);

jsonString = jsonString.replaceAll('\\', '');

document.write('<pre>' + jsonString + '</pre>');
结果良好,可读性好,可供其他用途复制

var object={name:'void',type1:'O'\'This',type2:'O'\'This',a:[1,2,3]};
document.write(''+JSON.stringify(object,0,4)+'')ECMAScript 2021,第12版
你可以用

JSON.stringify()
replaceAll()

资料来源:


const foo={
A:'这是我的\\',
这是他的
};
让jsonString=JSON.stringify(foo,null,2);
document.write(jsonString);
jsonString=jsonString.replaceAll('\\','');

编写(“”+jsonString+“”)您使用的是jquery还是其他框架?

const foo = {
    A: 'This is my \\',
    B: 'This \\ is his \\'
};

let jsonString = JSON.stringify(foo, null, 2);

document.write(jsonString);

jsonString = jsonString.replaceAll('\\', '');

document.write('<pre>' + jsonString + '</pre>');