将csv转换为json对象并循环遍历每个不起作用的对象

时间:2016-09-17 08:27:48

标签: javascript jquery json

我已将csv文件转换为json对象。现在我需要遍历每个对象。但是当我尝试使用for循环进行循环/迭代时,它给了我jsonobject.items是未定义的。任何人都可以建议一种最好的方法来迭代我的json吗?

以下是我的代码:

function Upload(){

$.ajax({
    url:"Sample.csv" ,
    async: false,
    crossDomain:true,
    success: function (csvd) {
        var wrapper = {};
        var items = $.csv.toObjects(csvd);
        wrapper.items = items;
        alert(wrapper);
        var jsonobject = JSON.stringify(wrapper);
        alert(jsonobject);
        console.log(jsonobject);
        for(k=0;k<jsonobject.items.length;k++){
           }

    },

});
}
Upload()
下面是我的json

{"items":[{"ID":"1","Name":"John Hammond","Country":"United States"},{"ID":"2","Name":"Mudassar Khan","Country":"India"},{"ID":"3","Name":"Suzanne Mathews","Country":"France"},{"ID":"4","Name":"Robert Schidner","Country":"Russia"}]}

1 个答案:

答案 0 :(得分:1)

JSON是用于数据交换的文本符号(More)如果您正在处理JavaScript源代码,而不是处理字符串,那么您就不会处理JSON。循环遍历items,根本没有理由在这里使用JSON.stringify。事实上,根本不需要在这里使用JSON。

$.ajax({
  url: "Sample.csv",
  async: false,
  crossDomain: true,
  success: function(csvd) {
    var wrapper = {};
    var items = $.csv.toObjects(csvd);
    wrapper.items = items;
    alert(wrapper);
    // Assuming `wrapper.items` is an array
    wrapper.items.forEach(function(item) {
        // Use `item` here
    });
  }
});

forEach只是循环数组的一种方法。 This answer详细介绍了其他各种方法。