用PHP编辑.json

时间:2014-02-16 22:18:08

标签: php json

我有一个php脚本,它将一个名为results.json的文件添加到我的在线服务器中,无论php脚本位于何处;

<?php 
    $sql=mysql_query("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);


?>

我想做的是;编辑results.json文件,或添加到其包含,而不是每次都创建一个新文件。你有什么建议?

2 个答案:

答案 0 :(得分:2)

最简单的解决方案是将JSON文件解码回对象,然后在重写之前添加行

$response = json_decode(file_get_contents("results.json"));
$response['posts'][] = array(...);
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);

答案 1 :(得分:2)

你可以做这样的事情;

$json_data = json_decode(file_get_contents('results.json'));
array_push($json_data, 'some value');
file_put_contents('results.json', json_encode($json_data));