Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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的两个问题_Javascript_Arrays_Json_Object_Jsonlint - Fatal编程技术网

Javascript 解析合法JSON的两个问题

Javascript 解析合法JSON的两个问题,javascript,arrays,json,object,jsonlint,Javascript,Arrays,Json,Object,Jsonlint,我在解析合法的和经过验证的JSON对象时都有问题 这一台运行正常 var response = {"tags":"[{\"value\": 2,\"label\": \"Dubstep\"},{\"value\": 3,\"label\": \"BoysIIMen\"},{\"value\": 4,\"label\":\"Sylenth1\"}]"}; var tags = $.parseJSON(response.tags); console.log(tags); 它在控制台阵列[3] 但

我在解析合法的和经过验证的JSON对象时都有问题

这一台运行正常

var response = {"tags":"[{\"value\": 2,\"label\": \"Dubstep\"},{\"value\": 3,\"label\": \"BoysIIMen\"},{\"value\": 4,\"label\":\"Sylenth1\"}]"};

var tags = $.parseJSON(response.tags);
console.log(tags);
它在控制台
阵列[3]

但是当我运行时,我将
var response
的值更改为这个值

 var response = {"tag":"[{\"id\":2,\"name\":\"Dubstep\",\"description\":\"Dub wob wob\"},{\"id\":3,\"name\":\"BoysIIMen\",\"description\":\"A 1990s Boy Band\"},{\"id\":4,\"name\":\"Sylenth1\",\"description\":\"A VST Plugin for FLStudio \"}]"};

tags
的值为
null
请注意,这两个值都是在JSONLint上验证的

第二个示例开始:

{"tag":
这应该是

{"tags":

在第二个场景中,由于您已将“tags”更改为“tag”,您是否按如下方式解析JSON?请注意reponse.tag中缺少的“s”

var tags = $.parseJSON(response.tag);

因为在第二种情况下,属性名称是
tag
,而不是
tags