【问题标题】:Titanium mobile parse json responseTitanium移动解析json响应
【发布时间】:2012-04-18 13:58:08
【问题描述】:

我正在尝试从我的 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,任何帮助将不胜感激 谢谢

【问题讨论】:

  • 请务必将其中一个回复标记为正确。

标签: json titanium titanium-mobile


【解决方案1】:

您实际上会得到一个 JSON 字符串,而不是 JSON 对象。有一个用于将 JSON 字符串解析为 JSON 对象的内置功能:

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

然后获取 DishName 很容易:

var dishname = response[0].DishName;

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

【讨论】:

  • 非常感谢。真的需要关于如何获得菜名的部分。
【解决方案2】:

首先您的 JSON 响应无效。您可以验证您的 JOSN 字符串 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);     
}

【讨论】:

    猜你喜欢
    • 2011-12-02
    • 2017-08-20
    • 1970-01-01
    • 2013-03-27
    • 1970-01-01
    • 2021-11-13
    • 2020-03-04
    相关资源
    最近更新 更多