0
$query = "SELECT id, latitude, longitude, elevation, title, distance, has_detail_webpage, webpage, info FROM korban";
$q=mysql_query($query);
//echo $query;
while($e=mysql_fetch_assoc($q))
          $output[]=$e;
   print(json_encode($output));

このコードから、次のように生成されます。

[
{"id":"1","latitude":"-77.036519","longitude":"77.036519","elevation":"0","title":"coba","distance":null,"has_detail_webpage":"0","webpage":"0","info":"0"},
{"id":"3","latitude":"12","longitude":"42","elevation":"21","title":"213","distance":"12","has_detail_webpage":"1","webpage":"12","info":"12"},
{"id":"32","latitude":"","longitude":"","elevation":null,"title":null,"distance":null,"has_detail_webpage":"1","webpage":null,"info":null}
]

でも、こういうの欲しい、

{ "status": "OK", "num_results": 3, "results": 
[ { "id": "2833", "lat": "41.359288",   "lng": "-73.646850", "elevation": "53", "title": "Target4", "distance": "1.756", "has_detail_page": "1", "webpage": "" }, 
  { "id": "2821", "lat": "41.359768", "lng": "-73.646870", "elevation": "0", "title": "Target2", "distance": "1.771", "has_detail_page": "0", "webpage": "" }, 
  { "id": "2829", "lat": "41.359820", "lng": "-73.646870", "elevation": "0", "title": "Target3", "distance": "1.545", "has_detail_page": "1", "webpage": "" } 
] }

どうすればいいですか?

4

3 に答える 3

0

json に必要な構造を追加するには、最初に json にエンコードする前に、php からその構造を作成する必要があります。

$objects = array();
while ($r = mysql_fetch_associ($rs) {
      $a = new stdClass();
      $a->status = $r['status'];
      ...
      $a->results = array('id' => $r['id']....)
      $objects[] = $a;
}

echo json_encode($objects);
于 2013-06-30T08:17:21.753 に答える