2011-09-06 2 views
0

Titanium Mobile App에서이 JSON 피드를 구문 분석하려면 어떻게해야합니까?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을 구문 분석하는 코드 세그먼트입니다. BU는 내가 더을 yor 서버에서 구문 분석 제이슨이

// 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); 
    } 
+0

무엇이 당신에게 정의되지 않았습니까? var 데이터? –

+0

var 데이터가 아닙니다 ... Ti.API.debug (my_title); – neoJacob

+0

올바르게 액세스하고 있습니까? 우선'data [i]', 다음과 같이'data [i] .mat_78.id'를 디버그하려고 시도하십시오 ... –

답변

5

'정의되지 않은'주고 ....받지

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(); 
+1

이것을 찾을 수있는 다른 사람들을 명확하게하기 위해서. 마지막에 추가 된 "데이터"는 위에 게시 된 JSON 데이터의 루트 노드입니다. 여분의 데이터를 추가하면 나머지 객체에 액세스 할 수 있으며'data.data [i] .title' 대신'data [i] .title'을 사용할 수 있습니다. – Shauna

0

사용하여 온로드 기능처럼한다고 생각의 날

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); 
     } 
    } 

...... 
......... 
+2

fb 페이지에 대한 링크가 포함되어있을 수 있습니까? 또는 정보를 더 잘 포함하십시오. –

+0

eval 함수 사용을 피하십시오. 가장 낮은 amonst all입니다. 극단적 인 경우에만 사용하십시오. – Ashish

관련 문제