需要使用javascript解析Json字符串

时间:2012-10-30 06:34:57

标签: javascript json jquery

我的json值来自java,如

var obj = "[{"id":"58","str":"sd <p/> Comment By Smith John on 2012-10-30"},{"id":"58","str":"sd <p/> Comment By Smith John on 2012-10-30"},{"id":"58","str":"sd <p/> Comment By Smith John on 2012-10-30"},{"id":"58","str":"sd <p/> Comment By Smith John on 2012-10-30"},{"id":"58","str":"sd <p/> Comment By Smith John on 2012-10-30"},{"id":"58","str":"sd <p/> Comment By Smith John on 2012-10-30"},{"id":"58","str":"sd <p/> Comment By Smith John on 2012-10-30"},{"id":"58","str":"sd <p/> Comment By Smith John on 2012-10-30"}] ".

我想使用jquery解析为$ .parseJSON(obj);

我收到的错误是未定义的。我想获得id值。

我包含了jquery-ui.js和jquery.js。

我检查了jsonlint并将其作为有效的json。

2 个答案:

答案 0 :(得分:2)

包含"字符的JavaScript字符串必须由'字符分隔,或将"转义为\"

使用您当前的代码,在它抱怨objobj之前,您应该尝试解析试图实例化undefined的JS时出错。

答案 1 :(得分:0)

请首先为字符串添加转义参数,如下所示。

var obj = "[{\"id\":\"58\",\"str\":\"sd <p/> Comment By Smith John on 2012-10-30\"},{\"id\":\"58\",\"str\":\"sd <p/> Comment By Smith John on 2012-10-30\"}]"

然后将解析后的对象转换为变量并以下面的方式访问id。

var tmp = $ .parseJSON(obj);  TMP [1] .ID;

希望你能得到答案。