簡體   English   中英

獲取正確的json響應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM