[英]getting correct json response
我從數據庫中獲取數據並以json的形式顯示
這是我的方法:
while ($row = @mysqli_fetch_row($result))
{
array_push($result1,$row);
}
echo $result1 = json_encode($result1,true);
以這種形式給出結果
[["29"],["13702210"],["892344"],["Multi AxleB9RVolvo"],["10:30AM"],["06:45PM"],["14"],["37"],["650"]]
這僅打印從表中獲取的數據庫值。 但是此響應標記為無效的json響應
每個字段在表中都有名稱。 我想以這種形式查看json響應:
{"routes":[{"route":{"routeid":29,"Service_Name":13702210,"Service_Number":892344,"BusType":"Multi AxleB9RVolvo","DepartureTime":"10:30AM","ArravalTime":"06:45PM","available_seats":14,"Total_SeatCapacity":37,"Fare":"650"}},{"route":{"routeid":29,"Service_Name":13702210,"Service_Number":892344,"BusType":"Multi AxleB9RVolvo","DepartureTime":"10:30AM","ArravalTime":"06:45PM","available_seats":14,"Total_SeatCapacity":37,"Fare":"650"}},{"route":{"routeid":29,"Service_Name":13702210,"Service_Number":892344,"BusType":"Multi AxleB9RVolvo","DepartureTime":"10:30AM","ArravalTime":"06:45PM","available_seats":14,"Total_SeatCapacity":37,"Fare":"650"}}]}
其中包含名稱和嵌套預覽。 我怎樣才能做到這一點?
我不知道您的數據庫的結構,但是:
while ($row = @mysqli_fetch_assoc($result))
{
array_push($result1,$row);
}
echo $result1 = json_encode(array('routes' => $result1));
可能會給您您想要的結果。 mysql_fetch_assoc()
返回表行作為將提供鍵的關聯數組。
然后array('routes' => $result1)
創建一個新的關聯數組,其鍵“ routes”與您的數組索引匹配。
如果它們的鍵在您的SQL響應中不正確,則可以嘗試在SQL查詢中使用select field_name as alias_name
來返回適當的字段名稱。
真正的竅門是為每個值設置具有適當鍵的關聯數組,以便json_encode
創建對象而不是列表。
您需要使用關聯數組,使用此數組;
while ($row = @mysqli_fetch_assoc($result))
{
array_push($result1,$row);
}
echo $result1 = json_encode($result1,true);
// for `routes` parent
// echo $result1 = json_encode(array("routes" => $result1));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.