我已将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"}]}
答案 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详细介绍了其他各种方法。