【问题标题】:JSON parse issue in TitaniumTitanium 中的 JSON 解析问题
【发布时间】:2013-02-25 05:02:52
【问题描述】:

我正在做一个简单的任务,从 url 读取 JSON 格式的数据并在表中显示这些字段

我写的代码像 as

var Win = Titanium.UI.currentWindow;  
//SEARCH BAR
var xhr = Titanium.Network.createHTTPClient();

tableData=[];
Win.open();
xhr.onload = function() {
    alert('res'+this.responseData);
     var json = this.responseText;
    var response = JSON.parse(json);
    //-- Mail was sent
    alert('respoinse length : '+response.result.length);
   tableData=[];
    for (i = 0; i < response.result.length; i++) {
            sresult = response.result[i];
            //alert('City'+ sresult.city);


            var row = Ti.UI.createTableViewRow({
                rowID: i,
                color:'#222',


    left:70, top:44,
    width:360,


                text:sresult.County
            });
            tableData.push(row);
        }

      table.setData(tableData);  


};

var table = Titanium.UI.createTableView({

        top:60,
        data:tableData

   });
    Win.add(table);
//xhr.open('GET', 'https://www.clia.livestockid.ca/CLTS/public/division/CCIA/en/splash_logo.jpg');
xhr.open('GET', 'http://gomashup.com/json.php?fds=geo/usa/zipcode/city/STERLING');
xhr.send();

我在 Titanium 上运行它 - 第一个显示 JSON 数据的警报。之后它没有得到第二个不确定的警报......为什么它不进入下一步......请帮助我解决代码中的任何错误或解析问题。

谢谢 德文达

【问题讨论】:

  • 您看到报告的任何错误吗? JSON 是什么样的?通常当人们问这个问题时,问题是 JSON 格式不正确。
  • 和那个网址朋友一起去“gomashup.com/json.php?fds=geo/usa/zipcode/city/STERLING
  • @Devendar:不,这不是现在它起作用(尤其是因为结果会随着时间的推移改变,使这个问题在未来对任何人都无用)。在问题本身中引用 JSON **>

标签: json parsing titanium tableview titanium-mobile


【解决方案1】:

您提供的网址(http://gomashup.com/json.php?fds=geo/usa/zipcode/city/STERLING)返回的“JSON”无效。 (http://jsonlint.com 是检查这类事情的有用资源。)它以 ( 开头,以 ) 结尾,如下所示:

({
    "result":[
    {
        "Longitude" : "-071.939375",
        "Zipcode" : "01564",
        "ZipClass" : "STANDARD",
        "County" : "WORCESTER",
        "City" : "STERLING",
        "State" : "MA",
        "Latitude" : "+42.366765"
    }
]}
)

(我省略了很多。)

JSON documents[{ 开头,并以对应的]} 结尾。

如果没有开头的( 和结尾的),上述内容将是有效的,因此您始终可以在解析之前删除它们,但真正的答案是修复提要。

【讨论】:

  • 我正在使用无效的 JSON...朋友任何有效的 JSON url 以供我自己测试,请提供给我
  • @Devendar:如果这只是测试数据,那么创建自己的数据是微不足道的
  • 朋友,你为什么对我的问题投了反对票……我是 JSON 的新人……我是一名实习生
  • .. 即使我使用了好的 JSON 文件也无法获得 - api.androidhive.info/contacts
  • @Devendar:对 SO 的投票是匿名的。您永远不应该仅仅因为有人对您的问题提出意见,并且有人对这个问题投了反对票,就认为同一个人做了这两件事。实际上很少见。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多