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