2016-09-17 3 views
0

私はcsvファイルをjsonオブジェクトに変換しました。今度は、オブジェクトごとにループする必要があります。しかし、ループを使ってループを繰り返そうとすると、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は、アレイをループする1つの方法です。 This answerは、さまざまな方法で詳細に説明されています。

+1

私は 'wrapper'オブジェクトを持っている理由はないと思う.. __'data exchange'__は' JSON'を記述するのに完璧な言葉に思える;) – Rayon

関連する問題