如何用php写一个json文件?

时间:2013-01-26 22:16:02

标签: php jquery ajax json

我有4个输入,由Ajax 4数据发送到一个php文件:
如何加载json文件,然后添加新的数据?

<input type="text" id="name">
<input type="text" id="surname">
<input type="text" id="mobile">
<input type="text" id="email">
<script>
var name = $("#name").val();
var surname = $("#surname").val();
var mobile = $("#mobile").val();
var email = $("#email").val();
$.ajax({type:"POST",
    url:"wjson.php",
    data:"name="+nombre+"&surname="+surname+"&mobile="+mobile+"&email="+email,
    success:function(data) {

    }
});

JSON文件:(people.json)

{
    "1":
    {
        "Name" : "Jhon",
        "Surname" : "Kenneth",
        "mobile" : 329129293,
        "email" : "jhon@gmail.com"
    },
    "2":
    {
        "Name" : "Thor",
        "Surname" : "zvalk",
        "mobile" : 349229293,
        "email" : "thor@gmail.com"
    }
}

wjson.php文件:

<?php
$nane = $_POST['name'];
$surname =$_POST['surname'];
$mobile = $_POST['mobile'];
$email =$_POST['email'];
$str_datos = file_get_contents("people.json")
//add new data to people.json
?>

通过people.json文件在我的服务器中的方式

1 个答案:

答案 0 :(得分:9)

你可以这样做:

// Loading existing data:
$json = file_get_contents("people.json");
$data = json_decode($json, true);

// Adding new data:
$data[3] = array('Name' => 'Foo', 'Surname' => 'Bar');

// Writing modified data:
file_put_contents('people.json', json_encode($data, JSON_FORCE_OBJECT));

但是,读取和写入一个可能很大的blob只是为了添加一两件小东西并不是最好的选择。如果您的数据集开始增长,请考虑替代解决方案。