2013-07-20 9 views
0

Json 응답을 자바 스크립트로 구문 분석하려고합니다.Json 응답 구문 분석

[{"video_source_id":100,"title":"YouTube Top Rated"}, 
{"video_source_id":101,"title":"YouTube Top Favorites"}] 

Java Script, JSON을 처음 사용했습니다. 웹 페이지에서 구문 분석하고 표시하는 가장 좋은 방법은 무엇입니까? 여기

내가 가지고있는,하지만 난 라인에

document.getElementById("video_source_id").innerHTML = jsonObj.video_source_id[i]; 

전체 코드를 다음과 같은 오류

TypeError: Cannot read property '0' of undefined

받고 있어요 :

function loadJSON() 
{ 
    var http_request = new XMLHttpRequest(); 
    try{ 
     // Opera 8.0+, Firefox, Safari 
     http_request = new XMLHttpRequest(); 
    }catch (e){ 
     // Internet Explorer Browsers 
     try{ 
      http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
     }catch (e) { 
      try{ 
       http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
      }catch (e){ 
       // Something went wrong 
       alert("Your browser broke!"); 
       return false; 
      } 
     } 
    } 
    var data_file = "/vcaWS/api/sources"; 

    http_request.onreadystatechange = function(){ 
     if (http_request.readyState == 4 ) 
     { 
      // Javascript function JSON.parse to parse JSON data 
      var jsonObj = JSON.parse(http_request.responseText); 

      // jsonObj variable now contains the data structure and can 
      // be accessed as jsonObj.name and jsonObj.country. 
      for(var i=0;i<jsonObj.length;i++){ 
       document.getElementById("video_source_id").innerHTML = jsonObj.video_source_id[i]; 
      } 
     } 
    } 
    http_request.open("GET", data_file, true); 
    http_request.send(); 
} 
+0

당신은 이미 (코드에서 나는'JSON.parse' 참조) JSON을 구문 분석하는 것 같다. 코드에 문제가 있습니까? 그렇다면 무엇입니까? 무슨 일이 일어나고 실제로 일어날 일이 무엇입니까? "최상의"방법은 원하는 결과를 산출하는 것입니다. 불행히도 우리는 당신이 원하는 것을 모른다. –

+0

for 루프 내에서 오류가 발생합니다 ... – user2602727

+0

그리고 오류의 원인을 알려주십시오. –

답변

0

jsonObj 배열입니다. 배열에는 video_source_id property이 없습니다. 그러나 배열의 객체는 않습니다. 따라서 jsonObj[i].video_source_id을 (를) video_source_idi 번째 요소의 속성에 jsonObj에 액세스하려고합니다.

은 참조 : Access/process (nested) objects, arrays or JSON