Javascript 为什么JSON.parse会删除双引号?
拥有简单的JS代码:Javascript 为什么JSON.parse会删除双引号?,javascript,json,Javascript,Json,拥有简单的JS代码: var str = '[[[0,123,"John Doe"]],[[0,189,"Jane Doe, Mike Smith"]]]'; var obj = JSON.parse(str); document.writeln(obj[1]); 为什么删除双引号?如何强制JS不删除双引号 或者。。。如何将此JSON转换为数组,并将每个元素分开 例如:obj[1][2]=Jane Doe,Mike Smith如果希望打印JSON,请将其转换回JSON: document.wr
var str = '[[[0,123,"John Doe"]],[[0,189,"Jane Doe, Mike Smith"]]]';
var obj = JSON.parse(str);
document.writeln(obj[1]);
为什么删除双引号?如何强制JS不删除双引号
或者。。。如何将此JSON转换为数组,并将每个元素分开
例如:obj[1][2]=Jane Doe,Mike Smith如果希望打印JSON,请将其转换回JSON:
document.writeln(JSON.stringify(obj[1]));
通过使用JSON.parse,可以将JSON转换为真正的JavaScript数组。obj中没有JSON,因此没有引号
如果要操纵数组,可以像操纵任何其他数组一样:
var str = '[[[0,123,"John Doe"]],[[0,189,"Jane Doe, Mike Smith"]]]';
var obj = JSON.parse(str);
obj[0][0][2] = "John Smith";
然后,如果您想收回引号,则必须使用JSON.stringify将其转换回JSON。如果您想打印JSON,请将其转换回JSON:
document.writeln(JSON.stringify(obj[1]));
通过使用JSON.parse,可以将JSON转换为真正的JavaScript数组。obj中没有JSON,因此没有引号
如果要操纵数组,可以像操纵任何其他数组一样:
var str = '[[[0,123,"John Doe"]],[[0,189,"Jane Doe, Mike Smith"]]]';
var obj = JSON.parse(str);
obj[0][0][2] = "John Smith";
然后,如果您想收回引号,则必须使用JSON.stringify将其转换回JSON。引号是定义内容的语法的一部分,而不是内容本身。为什么你想让它们出现在那里?引号在这里定义它是一个字符串,print不会显示它,在数组元素上尝试typeof来检查它是否是一个字符串……如果引号是字符串内容的一部分,那么在生成JSON的任何过程中都应该注意这一点。基本上,您的JSON需要是\Jane Doe,Mike Smith\I需要获得所有元素的数组@Ω您已经通过JSON.parse实现了这一点。引号是定义内容的语法的一部分,而不是内容本身。为什么你想让它们出现在那里?引号在这里定义它是一个字符串,print不会显示它,在数组元素上尝试typeof来检查它是否是一个字符串……如果引号是字符串内容的一部分,那么在生成JSON的任何过程中都应该注意这一点。基本上,您的JSON需要是\Jane Doe,Mike Smith\I需要获得所有元素的数组@Ω您已经通过JSON.parse完成了这一点。