两种解析法律JSON的问题

时间:2013-01-30 11:25:25

标签: 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);

它在控制台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上验证。

2 个答案:

答案 0 :(得分:1)

在你的第二个场景中,既然你已经将“标签”改为“标签”,你是否正在解析下面的JSON - 请注意reponse.tag中缺少的's'?

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

答案 1 :(得分:0)

你的第二个例子开始了:

{"tag":

这应该是

{"tags":