0

Titanium Mobile App でこの JSON フィードを解析するにはどうすればよいですか。

{
    "data":{
        "mat_78":{
            "id":"78",
            "title":"latest title here",
            "teaser":"latest teaser here",
            "body":"latest body here",
            "logo":"http://sites/default/files/6_0.jpg",
            "files":{
                "323":{
                    "fid":"323",
                    "filename":"joudi1m.jpg",
                    "tumb":"http://sites/default/files/joudi1m_0.jpg",
                    "large":"http://sites/default/files/joudi1_0.JPG",
                    "caption":"joudi1m.jpg"
                },
                "471":{
                    "fid":"471",
                    "filename":"Shot-(0_00_15_09)m.jpg",
                    "tumb":"http://sites/default/files/Shot(0_00_15_09)m.jpg",
                    "large":"http://sites/default/files/Shot(0_00_15_09).jpg",
                    "caption":"Shot(0_00_15_09)m.jpg"
                }
            }
        },
        "mat_79":{
            "id":"79",
            "title":"latest title 2 here",
            "teaser":"latest teaser 2 here",
            "body":"latest body 2 here",
            "logo":"http://sites/default/files/d09a0498a8512.jpg",
            "files":{
                "339":{
                    "fid":"339",
                    "filename":"BO1m.png",
                    "tumb":"http://sites/default/files/BO1_0.png",
                    "large":"http://sites/default/files/BO4_0.PNG",
                    "caption":"BO1m.png"
                },
                "340":{
                    "fid":"563",
                    "filename":"Slide9m.jpg",
                    "tumb":"http://sites/default/files/Slide9m.jpg",
                    "large":"http://sites/default/files/Slide9.JPG",
                    "caption":"Slide9m.jpg"
                }
            }
        },
        "mat_link":"mysite.cim/"
    }

これは JSON を解析するための私のコード セグメントです。しかし、それは得られません....それは私に「未定義」を与えます

var loader = Titanium.Network.createHTTPClient();
    loader.open("GET","http://mysite.com/data_iphone/en&lmt=5");    
    loader.onload = function() 
    {
        var data = JSON.parse(this.responseData);
        Ti.API.debug(data); 
        for (var i = 0; i < data.length; i++)
        {
        var my_id = data[i].id; // id
        var my_title = data[i].title; // title
        Ti.API.debug(my_title); 
        }
    }

......
.........
4

2 に答える 2

5

もっとこうあるべきだと思う

    // NOTICE EXTRA "data" on end, if you are using JSON.parse()
    var data = JSON.parse(this.responseText).data;

    Ti.API.debug(data);

    for (var i = 0; i < data.length; i++)
    {
        var my_id = data[i].id; // id
        var my_title = data[i].title; // title
        Ti.API.debug(my_title); 
    }
于 2011-09-07T15:58:24.683 に答える
0

サーバーからジェイソンを解析するためにオンロード関数を使用します

var loader = Titanium.Network.createHTTPClient();
var requstUrl = "your url";
loader.open("GET", requstUrl);
loader.onload = function() {


    var daysh = eval('(' + this.responseText + ')');
    var status = daysh.status;
    var jsonArry = daysh.locations;
    for (var i = 0; i < jsonArry.length; i++)
    {

        alert(i);

    }


};
loader.send();
于 2012-12-30T09:52:10.640 に答える