2012-02-02 6 views
0

예상 JSON 문자열은 다음과 같습니다구조는

<?php 

//Mysql stuff. 
mysql_connect('localhost', 'root', ''); 
mysql_select_db('dbname'); 

//create a query string to use 
$query = "SELECT field1, field2, field3 FROM table"; 
$result = mysql_query($query); 
$array = mysql_fetch_assoc($result); 

$node['node']=$array; 
$concat['node']=array($node); 

echo json_encode($concat); 

?> 

그냥 배열의 첫 번째 요소를 반환

{ 
    "nodes": [ 
     { 
      "node": { 
       "field1": "Book1", 
       "field2": "Book2", 
       "field3": "Book3" 
      } 
     }, 
     { 
      "node": { 
       "field1": "Book1", 
       "field2": "Book2", 
       "field3": "Book3" 
      } 
     } 
    ] 
} 

이 내 코드 물건입니다. 내가 함께 할 때

그래서, 다음과 같은 루프 동안 :

while($row = mysql_fetch_assoc($result)) { 
    $json[] = $row; 
} 
echo json_encode($json); 

그것은 그런 식으로 출력합니다

[ 
    { 
     "field1": "Book1", 
     "field2": "Book2", 
     "field3": "Book3" 
    }, 
    { 
     "field1": "Book1", 
     "field2": "Book2", 
     "field3": "Book3" 
    } 
] 

내가 JSON 구조에서 초보자 해요, 내가 예상 JSON 문자열을 얻을 수있는 방법 ? 어떤 아이디어?

+0

이의 출력을 넣을 필요가 구조를 출력합니다 "

"; print_r($concat); echo "
"에코; – ZiTAL

답변

1
$json['nodes'] = Array(); 

... 

$json['nodes'][] = Array('node' => $row); 
+0

'while ($ array = mysql_fetch_assoc ($ result)) { \t $ json [ 'nodes'] [] = Array ('node'=> $ array); \t } echo json_encode ($ json);'@Ignacio Vazquez-Abrams - 기대되는 json 문자열 :) – kankaungmalay

0
<?php 
$array = array 
(
     'nodes' => array 
     (
       array 
       (
         'node' => array 
         (
           'field1' => 'Book1', 
           'field2' => 'Book2' 
         ) 
       ), 
       array 
       (
         'node' => array 
         ( 
           'field3' => 'Book3', 
           'field4' => 'Book4' 
         )      
       ) 

     ) 
); 

echo json_encode($array); 
?> 

이 PHP 스크립트는