我有一个经过测试和运行的代码块,它读取json文件并将信息放入表中,当json文件的格式如下:
[
{
"title": "Title One",
"hits": 99,
"type": "Type 1",
"id": "001"
},
{
"title": "Title Two",
"hits": 109,
"type": "Type 2",
"id": "002"
},
{
"title": "Title Three",
"hits": 119,
"type": "Type 3",
"id": "003"
}
]
这是一个PHP对象数组。问题是我无法从我的PHP动态生成这个json - 上面没有生成它只是前端的测试文件。我得到的最好的是生成一个数组,我的表不能读取。我的PHP的结尾和相关部分如下:
do {
$model[] = array(
'plays' => $row_GetTotalItems['Rows'],
'title' => $row_GetTotalItems['video_title'],
'id' => $row_GetTotalItems['videoID']
);
} while ($row_GetTotalItems = mysql_fetch_assoc($GetTotalItems));
}
}
header("Content-type: application/json");
json_encode($model);
print_r($model);
?>
有关如何正确生成json文件以便将其格式化为我的表的任何想法都在寻找它吗?
答案 0 :(得分:0)
离开mysql_*
并转到MySQLi或PDO,但是对于这个问题,请获取对象。您还需要将JSON编码的字符串分配给某个或仅echo
。其次,即使第一次或最后一次没有获取行,也不要使用do
。
while ($row_GetTotalItems = mysql_fetch_object($GetTotalItems)) {
$model[] = $row_GetTotalItems;
}
header("Content-type: application/json");
echo json_encode($model);
为了将来参考,您可以创建一个数组并转换为对象:
$model[] = (object)array('plays' => $row_GetTotalItems['Rows'],
'title' => $row_GetTotalItems['video_title'],
'id' => $row_GetTotalItems['videoID']
);