2016-09-17 3 views
0

csv 파일을 json 개체로 변환했습니다. 이제 각 개체를 반복해야합니다. 하지만 루프를 사용하려고 반복 할 때 for 루프를 사용하면 jsonobject.items가 정의되지 않습니다. 어떤 사람이 내 json을 통해 반복하는 최선의 방법을 제안 할 수 있습니까?csv를 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

'jsonobject'는'string'입니다. 왜'JSON.stringify '를 사용하고 있습니까? – Rayon

답변

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은 다양한 다른 방법으로 세부적으로 들어갑니다.

+1

"wrapper"객체를 가질 이유가 없다고 생각합니다 .. __'data exchange'__는'JSON'을 설명하기에 완벽한 단어입니다;) – Rayon

관련 문제