我想創建一個嵌套節點的JSON響應。第一個節點的數據來自名爲「類別」的表,第二個節點的數據來自另一個名爲「」的表。每個「軌道」裏面的「軌道」表通過「category_id」與「類別」表連接。到目前爲止,我已經創造了這個反應,PHP - 編碼嵌套JSON數組
{
"category": [
{
"category_id": "1",
"category_name": "Editor's Choice ",
"cover_url": "http://www.example.com"
},
{
"category_id": "2",
"category_name": "New Releases",
"cover_url": "http://www.example.com"
}
],
"success": 1
}
現在我想另一子節點「track_list」的數據將來自「軌道」表中的「類別」數組中。最終的JSON可能會是這樣的,
{
"category": [
{
"category_id": "1",
"category_name": "Editor's Choice ",
"cover_url": "http://www.example.com",
"track_list": [
{
"track_id": "",
"track_name": ""
},
{
"track_id": "",
"track_name": ""
}
]
},
{
"category_id": "2",
"category_name": "New Releases",
"cover_url": "http://www.example.com",
"track_list": [
{
"track_id": "",
"track_name": ""
},
{
"track_id": "",
"track_name": ""
}
]
}
],
"success": 1
}
這裏不用我已經嘗試過的代碼,
// array for JSON response
$response = array();
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// get all category data name from table
$result = mysql_query("SELECT *FROM category") or die(mysql_error());
// check for empty result
if (mysql_num_rows($result) > 0) {
// looping through all results
// category node
$response["category"] = array();
while ($row = mysql_fetch_array($result)) {
// temp category array
$category = array();
$category["category_id"] = $row["category_id"];
$category["category_name"] = $row["category_name"];
$category["cover_url"] = $row["cover_url"];
// push single category into final response array
array_push($response["category"], $category);
}
// success
$response["success"] = 1;
// echoing JSON response
echo json_encode($response, JSON_PRETTY_PRINT);
} else {
// no category found
$response["success"] = 0;
$response["message"] = "No result found";
// echo no users JSON
echo json_encode($response, JSON_PRETTY_PRINT);
}
我不知道該嵌套JSON主意,因爲我在PHP全新的。任何形式的幫助都會受到嚴厲的譴責。
非常有幫助,並明確解釋。 – 2015-02-15 05:08:41