0

PHP APIから返されたこのjson文字列からDishNameを取得しようとしています。

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 Specials」が表示されますが、DishName が必要です。助けていただければ幸いです ありがとう

4

2 に答える 2

5

実際には、JSON オブジェクトではなく、JSON 文字列が返されます。JSON 文字列を JSON オブジェクトに解析する組み込み機能があります。

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

DishName を取得するのは簡単です。

var dishname = response[0].DishName;

注: 現在表示されている JSON は不完全であるか、無効な JSON オブジェクトです。

于 2012-04-04T22:55:50.300 に答える
2

まず、JSON 応答が有効ではありません。JOSN 文字列をオンラインで検証するには、こちら.

組み込みのメソッドで JSON レスポンスを解析できますJSON.parse()

サンプルコード:-

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

    Ti.API.log('Your Dish Name:'+dishname);     
}
于 2012-04-05T04:26:59.320 に答える