2013-03-30 2 views
0

jQuery ajax를 사용하여 PHP 스크립트에서 MySQL 데이터베이스에 데이터를 저장하고 있습니다. JSON 형식으로 반환 된 데이터를 구문 분석하고이를 테이블에 표시합니다.JSON 내에서 JSON 요소에 액세스

문제는 요소 중 하나가 json 형식으로 저장되므로 MySQL이 전체 데이터를 반환하므로 동일한 방식으로 표시됩니다.

$.each(data, function (key, element) { 
    $('table').append('<tr><td>' + element.aid + '</td><td>' + element.userid + '</td><td>' + element.atitle + '</td><td>' + element.atype + '</td><td>' + element.adata + '</td></tr>'); 
}); 

element.adata는 다음과 같은 방식으로 표시되는 : 나는 더 나은 방법으로 표시 할 수

{ 
    "click_title":"GO", 
    "links": { 
     "commonlink":"http:\/\/bookings.com", 
     "alllinks": [ 
      [{ 
      "link1":"http:\/\/xyz1.com\/get\/a", 
      "link2":"http:\/\/www.anotherwebsite1.com\/c\/t", 
      "link3":"http:\/\/www.newsite1.com\/v\/h" 
      },{ 
      "link1":"http:\/\/xyz2.com\/get\/a", 
      "link2":"http:\/\/www.anotherwebsite2.com\/c\/t", 
      "link3":"http:\/\/www.newsite2.com\/v\/h" 
     }],[{ 
      "link1":"http:\/\/xyz3.com\/get\/a", 
      "link2":"http:\/\/www.anotherwebsite3.com\/c\/t", 
      "link3":"http:\/\/www.newsite3.com\/v\/h" 
     }] 
     ] 
    } 
} 

가 어떻게 링크를 액세스합니까?

var data = $.parseJSON(element.adata); 

을 한 후 개별 요소에 액세스 :

답변

1

당신은 $.parseJSON() 함수를 사용하여 자바 스크립트 객체에 JSON 문자열을 구문 분석 할 수있다. 예 :

data.links[0][0].link1 

또는 미리 요소 수를 모르는 경우 $ .each를 사용하여 반복 할 수도 있습니다. 현재 나는 테이블에 element.adata을 표시하고 같은

+0

내가, 안에이 작업을 수행 할 수 있습니다 - ''+ element.adata + '' –

+0

예, 할 수 있습니다. 첫 번째 단계는 $ .parseJSON 함수를 사용하여 JSON 문자열을 javascript 변수로 파싱하는 것입니다. 그런 다음 어떻게 표시하고 싶은지에 따라 결과 객체의 요소에 직접 액세스 할 수 있습니다. –

+0

파이어 버그에서 데이터가 null이라고합니다. –