1

我想使用 Titanium Appcelerator Mobile SDK 解析以下 JSON

[{"City":null,"Distance":469,"Email":null,"Latitude":0,"Longitude":0,"Name":"Cretin-Derham Hall","PhoneNo":null,"SchoolId":75,"State":null,"Zip":null},{"City":null,"Distance":213,"Email":null,"Latitude":0,"Longitude":0,"Name":"East Ridge","PhoneNo":null,"SchoolId":76,"State":null,"Zip":null},{"City":null,"Distance":26,"Email":null,"Latitude":0,"Longitude":0,"Name":"Hastings","PhoneNo":null,"SchoolId":78,"State":null,"Zip":null},{"City":null,"Distance":116,"Email":null,"Latitude":0,"Longitude":0,"Name":"Stillwater","PhoneNo":null,"SchoolId":81,"State":null,"Zip":null},{"City":null,"Distance":0,"Email":null,"Latitude":0,"Longitude":0,"Name":"White Bear Lake","PhoneNo":null,"SchoolId":82,"State":null,"Zip":null}]

我想解析这个并将所有“名称”值放在 TableView/ListView 中。谁能帮我 ?

这是我当前的代码:

   var xhr = Titanium.Network.createHTTPClient();

xhr.onload = function()
{
    Ti.API.info('in utf-8 onload for GET');

    var schools = eval('(' + this.responseText +')');
};

提前致谢

4

1 回答 1

8

window假设 responseText 包含 JSON,并且变量中有一个可用的窗口

var tv = Ti.UI.createTableView();
window.add(tv);

xhr.onload = function()
{
    var data = [];
    Ti.API.info('in utf-8 onload for GET');
    var schools = JSON.parse(this.responseText);
    for (s in schools)
    {
        data.push(Ti.UI.createTableViewRow({title: schools[s].Name});
    }

    tv.data = data;

};
于 2011-10-07T12:42:37.467 回答