如何逐行解析我的JSON数组

时间:2015-12-29 20:31:18

标签: php mysql json

这些是我目前从数据库中检索到的JSON列表。

  

{" 0":" 1"" ID":" 1"" 1":& #34; 2015年1月11日   12:30:45"," DateTimeCreated":" 2015-01-11 12:30:45"," 2":"待定   确认""状态status_desc":"待定   确认"" 3":" benjiwjh""用户名":" benjiwjh"} {" 0" :" 4"" ID":" 4"" 1":" 2015年2月11日   09:09:09"," DateTimeCreated":" 2015-02-11 09:09:09"," 2":"待定   确认""状态status_desc":"待定   确认"" 3":" LSH""用户名":" LSH"} {" 0" :" 7"" ID":" 7"" 1":" 2015年12月3日   18:30:00"" DateTimeCreated":" 2015年12月3日   18:30:00"" 2":"未解决""状态status_desc":"未解决"" 3& #34;:" SWJH""用户名":" SWJH"} {" 0":" 12&#34 ;, " ID":" 12"" 1":" 2014年12月3日   12:10:3​​0"" DateTimeCreated":" 2014年12月3日   12:10:3​​0"" 2":"解决""状态status_desc":"解决"" 3& #34;:" benjiwjh""用户名":" benjiwjh"} {" 0":" 14&#34 ;, " ID":" 14"" 1":" 2014年12月3日   12:10:3​​0"" DateTimeCreated":" 2014年12月3日   12:10:3​​0"" 2":"解决""状态status_desc":"解决"" 3& #34;:" CYJM""用户名":" CYJM"} {" 0":" 15&#34 ;, " ID":" 15"" 1":" 2015年11月12日   12:11:10"" DateTimeCreated":" 2015年11月12日   12:11:10"" 2":"未解决""状态status_desc":"未解决"" 3& #34;:" LSH""用户名":" LSH"}

我想逐行显示它:

  

{" 0":" 1"" ID":" 1"" 1":& #34; 2015年1月11日   12:30:45"," DateTimeCreated":" 2015-01-11 12:30:45"," 2":"待定   确认""状态status_desc":"待定   确认"" 3":" benjiwjh""用户名":" benjiwjh"}

     

{" 0":" 4"" ID":" 4"" 1":& #34; 2015年2月11日   09:09:09"," DateTimeCreated":" 2015-02-11 09:09:09"," 2":"待定   确认""状态status_desc":"待定   确认"" 3":" LSH""用户名":" LSH"}

     

{" 0":" 7"" ID":" 7"" 1":& #34; 2015年12月3日   18:30:00"" DateTimeCreated":" 2015年12月3日   18:30:00"" 2":"未解决""状态status_desc":"未解决"" 3& #34;:" SWJH""用户名":" SWJH"}

     

{" 0":" 12"" ID":" 12"" 1":& #34; 2014年12月3日   12:10:3​​0"" DateTimeCreated":" 2014年12月3日   12:10:3​​0"" 2":"解决""状态status_desc":"解决"" 3& #34;:" benjiwjh""用户名":" benjiwjh"}

     

{" 0":" 14"" ID":" 14"" 1":& #34; 2014年12月3日   12:10:3​​0"" DateTimeCreated":" 2014年12月3日   12:10:3​​0"" 2":"解决""状态status_desc":"解决"" 3& #34;:" CYJM""用户名":" CYJM"}

     

{" 0":" 15"" ID":" 15"" 1":& #34;二零一五年十一月十二日   12:11:10"" DateTimeCreated":" 2015年11月12日   12:11:10"" 2":"未解决""状态status_desc":"未解决"" 3& #34;:" LSH""用户名":" LSH"}

而不是整个块都粘在一起。我在检索数据时应该使用循环吗?现在这就是我检索数据的方式:

while($row = mysqli_fetch_array($result)) {
    echo json_encode($row);

2 个答案:

答案 0 :(得分:0)

像这样一个接一个地回显这些JSON对象意味着PHP脚本的完整输出将不是有效的JSON。如果在从数据库中获取结果时构建数组数组,则最后可以json_encode生成一个JSON对象数组。

while($row = mysqli_fetch_array($result)) {
    $output[] = $row;
}
echo json_encode($output);

然后你应该能够遍历生成的数组,因为我相信你正在尝试使用这个PHP脚本的输出。

答案 1 :(得分:0)

您可以使用mysqli_fetch_all

echo json_encode(mysqli_fetch_all($result, MYSQLI_ASSOC));