使用javascript / jquery循环json对象

时间:2016-10-11 19:27:15

标签: javascript jquery json ajax

我的json对象如下所示,我想只循环数据'。当我尝试使用objparse.data访问时,它会抛出null。请建议我如何循环播放数据'在objparse对象中。

objparse =  "{\"success\":true,\"message\":\"\",\"data\":[{\"vehModelCode\":\"0824\",\"vehModelDesc\":\"xA\"},{\"vehModelCode\":\"0825\",\"vehModelDesc\":\"xB\"},]}"

4 个答案:

答案 0 :(得分:1)

看起来您的示例的问题是由于尾随逗号导致JSON无效,因此将其传递给..."vehModelDesc\":\"xB\"},]}"失败。

"vehModelDesc\":\"xB\"}]}"应为var mydata = JSON.parse(object).data(删除最后一个逗号)。

一旦解决了这个问题,你就可以做到:

mydata

然后map将是一个数组类型,您可以调用(forEach:active等上的任何数组方法。)

答案 1 :(得分:0)

您应首先解析JSON字符串。

var data = JSON.parse(objparse).data;
data.forEach(function(model){
  /* DO STUFF */
});

答案 2 :(得分:0)

我猜您可以执行以下代码段



var objparse =  "{\"success\":true,\"message\":\"\",\"data\":[{\"vehModelCode\":\"0824\",\"vehModelDesc\":\"xA\"},{\"vehModelCode\":\"0825\",\"vehModelDesc\":\"xB\"},]}"
var obj = eval("(" +objparse + ')');
obj.data.forEach(function(model){alert(model);});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

希望这有帮助

答案 3 :(得分:0)

检查示例:

var objparsed =  {"success":true,"message":"","data":[{"vehModelCode":"0824","vehModelDesc":"xA"},{"vehModelCode":"0825","vehModelDesc":"xB"}]};
for (var z in objparsed['data']) {
    console.log(objparsed['data'][z]);
}
var objparse =  '{"success":true,"message":"","data":[{"vehModelCode":"0824","vehModelDesc":"xA"},{"vehModelCode":"0825","vehModelDesc":"xB"}]}';
var result = JSON.parse(objparse);
for (var z in result['data']) {
    console.log(result['data'][z]);
}