我正在尝试使用下面的代码生成带有PHP的json文件,并且我得到一个空数组 - > { “职位”:[]}。我正在使用Wordpress。有人可以帮助我。感谢
$sql=mysql_query("SELECT * FROM wp_posts");
$response = array();
$posts = array();
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
$url['url']=$row;
$title['title']=$row;
$posts[] = array('url'=> $url, 'title'=> $title);
}
$response['posts'] = $posts;
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);
答案 0 :(得分:3)
您的代码中存在许多错误!请检查一下:
$result=mysql_query("SELECT * FROM wp_posts");
$i=0;
while($row=mysql_fetch_array($result)) {
$response[$i]['url'] = $row['url'];
$response[$i]['title']= $row['title'];
$data['posts'][$i] = $response[$i];
$i=$i+1;
}
$json_string = json_encode($data);
$file = 'file.json';
file_put_contents($file, $json_string);
答案 1 :(得分:1)
试试这个
header('Content-Type: application/json');
$sql=mysql_query("SELECT * FROM wp_posts");
$response = array();
$posts = array();
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
$posts['url']=$row['url'];;
$posts['title']=$row['title'];
array_push($response, $posts);
}
$json = json_encode($response);
$file = 'file.json';
file_put_contents($file, $json);
参考:访问here
答案 2 :(得分:0)
问题出在你的while循环中。试试这个:
while($row=mysql_fetch_array($result)) {
$url=$row['url'];
$title=$row['title'];
$posts[] = array('url'=> $url, 'title'=> $title);
}