2012-04-04 6 views
0

Ich versuche, den DishName von dieser JSON-Zeichenfolge, die von meinem PHP API zurückgegeben wird.Titan Mobile Parse JSK Antwort

Die JSON-String

Dieser
["Spicy.com Specials",{"CatID":31,"CatName":"Spicy.com Specials","DishName":"Kashmiri Chicken","DishID":52,"DishDesc":"Cooked with lychees and banana in a lovely sweet and creamy sauce","DishPrice":6.99,"CatDescription":" "},{"CatID":31,"CatName":"Spicy.com Specials","DishName":"Telapia Fish","DishID":51,"DishDesc":"Lightly spiced fillet, a very popular white fish made with peppers, onions and spices in medium sauce","DishPrice":6.99,"CatDescription":" "}, 

Mein Titan-Code ist

var cats = eval('('+this.responseText+')'); 
alert(cats[0]); 

bekommen ist mir 'Foo.com Specials' aber ich die DishName benötigen, würde jede mögliche Hilfe viel Dank

geschätzt werden
+0

Bitte achten Sie darauf, die richtige eine der Antworten zu markieren. – flumpb

Antwort

5

Sie erhalten tatsächlich eine JSON-Zeichenfolge zurück, kein JSON-Objekt. Es ist ein Build in Funktion, um das JSON-String zu JSON-Objekt für die Analyse:

var response = JSON.parse(this.responseText); 

die DishName zu erhalten ist dann einfach:

var dishname = response[0].DishName; 

Hinweis: Die aktuell angezeigter JSON als unvollständig scheint, oder auf andere Weise Es ist ein ungültiges JSON-Objekt.

+0

Vielen Dank. Wirklich benötigt diesen Teil darüber, wie man den Gerichtnamen bekommt. – James

2

Zunächst ist Ihre JSON-Antwort nicht gültig. Sie können Ihre JOSN-Zeichenfolge Online here validieren.

Sie können Ihre JSON-Antwort mit der integrierten Methode JSON.parse() analysieren.

Beispielcode: -

yourLoader.onload = function() 
{ 
    var response = JSON.parse(this.responseText); 
    var dishname = response[0].DishName; 

    Ti.API.log('Your Dish Name:'+dishname);  
}