Javascript 解析合法JSON的两个问题
我在解析合法的和经过验证的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] 但
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
。