2011-03-09 8 views
5

내 JSON 데이터는 예 : [{"cust_id":"109"}]과 같이 대괄호로 묶습니다. 왜 그런가요? mysql_fetch_rowmysql_fetch_object을 사용해 보았습니다. 괄호를 제거하려면 부분 문자열을 사용해야합니까?JSON 데이터가 대괄호로 묶여 있습니다. 이유가 무엇입니까?

또한 JSON 개체를 javaScript로 표시 할 수 있습니까? 방화 광에서 JSON 데이터를 하드 코딩하면 JSON 값이 표시되지만 alert()는 값을 표시하지 않습니다.

감사합니다.

$rows = array(); 
    while($r = mysql_fetch_assoc($rs)) { 
    $rows[] = $r; 
    } 
    echo json_encode($rows); 
+1

http://json.org/ –

답변

5

즉 하나의 요소로 구성되는 배열을 의미합니다.

+3

확장하려면 여러 요소가있는 경우 다음과 같이 표시됩니다.'[{ "cust_id": "109"}, { "cust_id" : "110"}, { "cust_id": "111"} " –

+1

http://json.org 표준을 참조하는 것이 도움이됩니다. –

+0

이것은 내 대괄호를 부분 문자열로 묶어 내 javaScript로 반환 된 mydata가 {...}로 구분되도록해야합니까? json_encode는 중괄호가 객체를 구분하는 경우 대괄호로 출력을 구분하는 이유는 무엇입니까? – hadenp

4

대괄호는 JavaScript로 배열을 나타냅니다. 당신은 단지 하나 개의 항목을 원하는 경우에 당신은 특별히 배열의 첫 번째 (단일) 항목을 인코딩해야합니다 :

$rows = array(); 
while($r = mysql_fetch_assoc($rs)) 
{ 
    $rows[] = $r; 
} 
echo json_encode($rows[0]); 
+0

고맙습니다. 내 페이지에 데이터를 인쇄하려면 어떻게해야합니까? – hadenp

+0

나는 당신이하고 싶은 것을 이해하지 못합니다. echo json_encode (...)는 이미 JSON 데이터를 페이지에 출력합니다. – Daff

+0

하지만 자바 스크립트 (jQuery를) 포함하는 페이지에서 반환 된 데이터를 표시 할 때 난 아무것도 ... $ 아약스를 (표시되지 않습니다 { \t \t 유형 : "POST", \t \t URL : "call_ajax_query. PHP ' \t \t 데이터 {suite_no : 실내} \t \t dataType와'JSON ' \t \t 성공 : 기능 (데이터) { \t \t $ ('# 출력 ') HTML (데이터) . \t \t \t \t \t 알림 ("데이터 :"+ 데이터); \t \t} \t \t}); – hadenp

관련 문제