我正在处理简单任务从url读取数据,该数据是JSON格式并在表中显示这些字段
我写了像这样的代码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数据的警报。之后,它没有得到第二个人的警觉,不确定...为什么它没有进入下一步...请帮助我,这是代码中的任何错误或解析问题。
由于 Devendar
答案 0 :(得分:2)
您提供的网址(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以[
或{
开头,以对应的]
或}
结束。
上述内容在开头(
和最后)
时无效,因此您可以在解析之前始终删除它们,但真正的答案是修复Feed。