如何用PHP生成.json文件?

时间:2010-03-18 06:39:36

标签: php json

CREATE TABLE Posts
{
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200),
url VARCHAR(200)
}

json.php代码

<?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个文件。

8 个答案:

答案 0 :(得分:216)

以下是示例代码:

<?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);


?> 

答案 1 :(得分:32)

使用此:

$json_data = json_encode($posts);
file_put_contents('myfile.json', $json_data);

在运行脚本之前,必须先创建myfile.json。

答案 2 :(得分:28)

将获取的值插入数组而不是回显。

如果file_put_contents()是您的数据,请使用json_encode($rows)并将$rows插入该文件。

答案 3 :(得分:6)

使用PHP的json methods创建json,然后将其写入fwrite的文件。

答案 4 :(得分:6)

您只需使用php的 json_encode 功能,并使用文件处理功能保存文件,例如 fopen {{3 }}

答案 5 :(得分:6)

如果您正在提取动态记录,最好有1个php文件创建一个json表示,而不是每次都创建一个文件。

<强> my_json.php

$array = array(
    'title' => $title,
    'url' => $url
);

echo stripslashes(json_encode($array)); 

然后在您的脚本中设置文件my_json.php

的路径

答案 6 :(得分:6)

这里我提到了创建 json文件的简单syntex,并以非常方式在 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);

希望它对你有用....

答案 7 :(得分:5)

首先,您需要对其进行解码:

$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);

copy