我在解析合法和有效的JSON对象时遇到了问题。
这个运行得很好
var response = {"tags":"[{\"value\": 2,\"label\": \"Dubstep\"},{\"value\": 3,\"label\": \"BoysIIMen\"},{\"value\": 4,\"label\":\"Sylenth1\"}]"};
var tags = $.parseJSON(response.tags);
console.log(tags);它在控制台Array[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上进行了验证。
发布于 2013-01-30 19:28:23
在您的第二个场景中,由于您已经将"tags“更改为"tag",您是否正在按如下方式解析JSON -注意reponse.tag中缺少的”s“?
var tags = $.parseJSON(response.tag);发布于 2013-01-30 19:27:30
您的第二个示例开始:
{"tag":这应该是
{"tags":https://stackoverflow.com/questions/14602839
复制相似问题