2017-10-05 9 views
0

jsonファイルを作成したいと思います。mysqlデータベースからjsonファイルを作成するにはどうしたらいいですか?

$data = $db->query('SELECT * FROM data ORDER BY id ASC;')->fetchAll(PDO::FETCH_ASSOC); 
$json_string = json_encode($data); 
$file = 'data.json'; 
file_put_contents($file, $json_string); 

マイ結果:

[{ 
    "id": "123", 
    "timestamp": "2017-05-12 16:22:39", 
    "name": "bear", 
    "description": "dance all day" 
    }, 
    .... 
}] 

しかし、私はacutally必要があります形式は次のとおりです。

{ 
    "data": [ 
    [ 
     "123", 
     "2017-05-12 16:22:39", 
     "bear", 
     "dance all day" 
    ], 
    .... 
    ] 
} 
+0

を閉鎖している "]"? – user1506104

+0

あなたのためにそれを更新しました – Jarla

+0

それはあなたが必要なものによって異なります。オブジェクトの配列が必要ですか?または配列データを含むオブジェクトが必要ですか?あなたの結果はオブジェクトの配列です。実際に必要な形式は後者です。どちらも有効なjson形式です。 http://json.org/ – user1506104

答えて

1

あなたはこのような何か行うことができます:あなたの結果にはない

$results= $db->query('SELECT * FROM data ORDER BY id ASC;')->fetch_all(); 

$data = array(); 
foreach ($results as $row) { 
    $id = $row[0]; 
    $timestamp = $row[1]; 
    $name = $row[2]; 
    $description = $row[3]; 
    $data[] = array($id, $timestamp, $name, $description); 
} 
$json = json_encode(array("data" => $data)); 
+1

もっとコードが来る – user1506104

+0

あなたはjson形式のマルチ次元配列が必要ですか?つかまっている。 – user1506104

+0

あなたはJSON_PRETTY_PRINTについてどう思いますか – Jarla

関連する問題