13

次の形式でJSON出力を生成できるようにしたいと思います。

{"a":{"ax":1,"abx":2},"b":{"bax":1,"bbx":2},"c":3,"d":4,"e":5}

私はそれぞれのコードがこれであることを発見しましたが:

$arr = array('a' => array('ax' => 1, 'abx' => 2), 'b' => array('bax' => 1, 'bbx' => 2), 'c' => 3, 'd' => 4, 'e' => 5);

、SQLクエリからのデータを使用してこの出力を生成するのに苦労しています。array_push()array_merge( )を試しましたが、最も近いものは次のとおりです。

[{"a":{"ax":1,"abx":2}},{"b":{"bax":1,"bbx":2}}, ....]

どうすればいいですか?

4

2 に答える 2

22

まず、テーブルからすべてのデータをクエリしてから、それを配列に移動する必要があります。この後、関数を使用しjson_encode($array)ます。

配列をパラメーター内に配置します。

その後、出力はJSON形式になります。

$query = "select *  from employees";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
  $employee = $row['employee'];
  $country = $row['country'];

  $employees[] = array('employee'=> $employee, 'country'=> $country);
}

echo $jsonformat = json_encode($employees);
于 2012-06-05T08:07:14.777 に答える
3

エンコードするデータを配列にロードしてから、json_encode()を使用します。

json_encode($arr);
于 2012-06-05T00:26:05.253 に答える