Titanium mobile解析json响应

时间:2012-04-04 19:50:44

标签: json titanium titanium-mobile

我正在尝试从我的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特价'然而我需要DishName,任何帮助将非常感激 谢谢

2 个答案:

答案 0 :(得分:5)

您实际上将获得一个JSON字符串,而不是JSON对象。有一个内置功能可以将JSON字符串解析为JSON对象:

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

获取DishName很容易:

var dishname = response[0].DishName;

注意:您当前显示的JSON似乎不完整,否则它是无效的JSON对象。

答案 1 :(得分:2)

您的JSON响应首先无效。您可以验证您的JSON字符串Online here

您可以通过内置方法JSON.parse()解析JSON响应。

示例代码: -

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

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