2012-04-04 15 views
0

私のphp apiから返されているこのjson文字列からDishNameを取得しようとしています。チタンモバイルパースjsonレスポンス

JSON文字列が

["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":" "}, 

マイチタンコードが

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

である。これは、 'Foo.comスペシャル' 私のgetしかし、私はすべてのヘルプははるかに おかげ

をいただければ幸いです、DishNameを必要とします
+0

正しいと回答の1をマークするようにしてください。 – flumpb

答えて

5

実際にJSONオブジェクトではなくJSON文字列を取得します。機能でのビルドはJSONオブジェクトにJSON文字列を解析するためにあります:

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

が、その後DishNameを取得するのは簡単です:

var dishname = response[0].DishName; 

注:あなたの現在表示されているJSONが不完全であると思われる、またはそうでなければこれは無効なJSONオブジェクトです。

+0

ありがとうございました。本当にその皿名を得る方法についてのその部分が必要でした。 – James

2

JSON応答が有効ではない最初のものです。あなたはJOSNの文字列Online hereを検証することができます。

JSON応答は、メソッドJSON.parse()に組み込まれて解析できます。

サンプルコード: -

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

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