如何用PHP生成.json文件?
CREATE TABLE Posts
{
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200),
url VARCHAR(200)
}
json.php代码如何用PHP生成.json文件?
<?php
$sql=mysql_query("select * from Posts limit 20");
echo '{"posts": [';
while($row=mysql_fetch_array($sql))
{
$title=$row['title'];
$url=$row['url'];
echo '
{
"title":"'.$title.'",
"url":"'.$url.'"
},';
}
echo ']}';
?>
我不得不产生results.json
文件。
这里是一个示例代码:
<?php
$sql="select * from Posts limit 20";
$response = array();
$posts = array();
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)) {
$title=$row['title'];
$url=$row['url'];
$posts[] = array('title'=> $title, 'url'=> $url);
}
$response['posts'] = $posts;
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);
?>
将您提取的值插入数组而不是回显。
如果您的数据为$rows
,则使用file_put_contents()
并将json_encode($rows)
插入该文件中。
我看到您的答案已发布在最上面的答案之前。如果只有你已经放了一些示例代码,你会得到更多的选票。 – 2015-12-31 14:29:16
如果你拉动态记录最好是有一个创建一个JSON表示和每次不创建一个文件1个PHP文件。
my_json.php
$array = array(
'title' => $title,
'url' => $url
);
echo stripslashes(json_encode($array));
然后在你的脚本中的路径设置为文件my_json.php
当我尝试运行getJason时,我得到*资源解释为脚本,但与MIME类型文本/ html *在控制台中。 – noobcode 2012-12-06 10:22:03
@noobcode为了解决这个问题,我想你应该在'my_json.php'中设置'Content-Type'标题。 – 2015-01-24 15:38:42
使用此:
$json_data = json_encode($posts);
file_put_contents('myfile.json', $json_data);
为我工作。
这里,我已经提到的简单了Syntex用于创建JSON文件并打印JSON文件在相当的方式内的数组值。
$array = array('name' => $name,'id' => $id,'url' => $url);
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($array, JSON_PRETTY_PRINT)); //here it will print the array pretty
fclose($fp);
希望它会为你的作品....
首先,你需要将其解码:
$jsonString = file_get_contents('jsonFile.json');
$data = json_decode($jsonString, true);
然后更改数据:
$data[0]['activity_name'] = "TENNIS";
// or if you want to change all entries with activity_code "1"
foreach ($data as $key => $entry) {
if ($entry['activity_code'] == '1') {
$data[$key]['activity_name'] = "TENNIS";
}
}
然后再 - 编码并将其保存回文件中:
$newJsonString = json_encode($data);
file_put_contents('jsonFile.json', $newJsonString);
我在我的项目中使用了这段代码。 results.json文件在本地主机上运行良好,并在远程服务器上失败。你能解释为什么那么.. – 2012-12-21 05:53:34
在您的服务器设置中,可以关闭Fwrite – Chris 2013-01-19 20:28:34
allthough虽然这很好,也许是因为我现在使用PHP 5,并且在发布此答案时它不可用,但是您可以摆脱$ result =行和内部你的while循环只是让mysql_feth_array($ sql) – 2014-02-07 13:20:34