2012-03-26 22 views

Antwort

11
var string = '[{"title":"Title1"},{"title":"Title2"}]'; 

var array = JSON.parse(string); 
array.forEach(function(object) { 
    console.log(object.title); 
}); 

Beachten Sie, dass JSON.parseisn't available in all browsers; use JSON 3 wo nötig.

Das gleiche gilt natürlich für ES5 Array#forEach. Dies ist nur ein Beispiel.

Wenn Sie jQuery verwenden, können Sie stattdessen $.each verwenden, um stattdessen über das Array zu iterieren. jQuery hat auch eine jQuery.parseJSON Methode.

3

Wenn Sie jQuery verwenden nur tun:

var myArray = jQuery.parseJSON('[{"title":"Title1"},{"title":"Title2"}]'); 
3

Wenn das direkt in Ihrem JS dann funktioniert es out of the box:

var obj = [{"title":"Title1"},{"title":"Title2"}]; 
alert(obj[0].title); // "Title1"; 

Wenn es über AJAX empfangen wird:

// obj contains the data 
if(typeof JSON != "undefined") obj = JSON.parse(obj); 
else obj = eval("("+obj+")"); 
2

Mit einer For-Schleife, vielleicht? : O

for(var i = 0; i < jsonVar.length; i++) { 
    alert(jsonVar[i].title); 
} 
0

Mit JSON.parse (json2.js wird eine Version, dass für älteren Browser zur Verfügung stellen).

+1

Hast du nicht gehört? [JSON 3] (http://bestiejs.github.com/json3/) ist das neue 'json2.js'. – Sharon

0

Hier ist ein Beispiel, mit jQuery:

var jsonObj = $.parseJSON('[{"title": "Title1"}, {"title": "Title2"}]'); 
var title1 = jsonObj[0].title; //Title1 
var title2 = jsonObj[1].title; //Title1 

Sie können eine Demo sehen hier: http://jsfiddle.net/pBb4j/