Jquery.each投掷长度为null或不是对象

时间:2014-11-26 07:03:24

标签: jquery json

我在JS中有一段代码,使用Jquery为每个函数循环一个JSON。它显示错误,因为长度为空或不是对象

var  claimJSONString = '{"claimJSON": [' + jsonString + ']}';
    //alert(claimJSONString);
      J.each(claimJSONString.claimJSON, function (i, v) {
        alert("v::" + v.tranID);
}); 

claimJSONString提醒为:

{
"claimJSON": [
    {
        "tranID": "12581",
        "a": "0",
        "b": "0",
        "c": "0",
        "d": "0"
    }
]
}

也试过

J.each(jsonString, function (i, v) {
        alert("v::" + v.tranID);
}); 

其中jsonString是     {         “tranID”:“12581”,         “a”:“0”,         “b”:“0”,         “c”:“0”,         “d”:“0”     } 现在错误是对象预期。

我做错了什么?

P.S。我差点把头发撕掉。请帮忙! P.S.S Jquery Newbie

1 个答案:

答案 0 :(得分:2)

您需要从json字符串解析JSON对象,使用jQuery.parseJSON()JSON.parse()方法,请参阅下面的示例代码

var  claimJSONString = jQuery.parseJSON('{"claimJSON": [' + jsonString + ']}');

each循环中使用claimJSONString.claimJSON[0],因为[0]索引中的对象

J.each(claimJSONString.claimJSON[0], function (i, v) {
       alert("v::" + v.tranID);
});