Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么JSON.parse会删除双引号?_Javascript_Json - Fatal编程技术网

Javascript 为什么JSON.parse会删除双引号?

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

拥有简单的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.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完成了这一点。