从PHP向Json追加数据
我想在obdatabase.json中追加从PHP向Json追加数据,php,json,Php,Json,我想在obdatabase.json中追加{“pname”:“superman”,“pid”:“4”}。但是我下面的尝试完全覆盖了json文件。 我如何修改它 obdatabase.json { "pobject":[{ "pname":"Pikachu" , "pid":"1" }, { "pname":"squirtle" , "pid":"2" }, { "pname":"Justinbieber" , "pid":"3" }]} add.php <?php $file="obd
{“pname”:“superman”,“pid”:“4”}
。但是我下面的尝试完全覆盖了json文件。
我如何修改它
obdatabase.json
{ "pobject":[{ "pname":"Pikachu" , "pid":"1" },
{ "pname":"squirtle" , "pid":"2" },
{ "pname":"Justinbieber" , "pid":"3" }]}
add.php
<?php
$file="obdatabase.json";
$json = json_decode(file_get_contents($file),TRUE);
$json['pobject'] = array('pname'=>'Superman', 'pid'=>4);
file_put_contents('obdatabase.json', json_encode($json));
?>
想法是从文件中获取json,然后将其解析为php json_encode()想法是从文件中获取json,然后将其解析为php json_encode()在代码中,您写道:
$json['pobject'] = array('pname'=>'Superman', 'pid'=>4);
通过这种方式,替换$json['pobject']
数组,而不是添加值
您必须使用以下语法:
$json['pobject'][] = array('pname'=>'Superman', 'pid'=>4);
然后,您可以使用以下内容覆盖旧文本文件:
file_put_contents( 'obdatabase.json', json_encode( $json ) );
编辑:
你已经问了这个问题。处理堆栈溢出的正确方法是:
- 如果您不理解答案或答案与您的问题不匹配,请继续在前面的问题中进行讨论李>
- 如果问题已结束,请将答案标记为正确,然后提出新问题
这是出于对那些花时间寻找解决方案的用户的尊重,也是出于对未来访问者的尊重,这些访问者可以轻松理解问题是否有有效答案。在您的代码中,您写道:
$json['pobject'] = array('pname'=>'Superman', 'pid'=>4);
通过这种方式,替换$json['pobject']
数组,而不是添加值
您必须使用以下语法:
$json['pobject'][] = array('pname'=>'Superman', 'pid'=>4);
然后,您可以使用以下内容覆盖旧文本文件:
file_put_contents( 'obdatabase.json', json_encode( $json ) );
编辑:
你已经问了这个问题。处理堆栈溢出的正确方法是:
- 如果您不理解答案或答案与您的问题不匹配,请继续在前面的问题中进行讨论李>
- 如果问题已结束,请将答案标记为正确,然后提出新问题
这是出于对那些花时间寻找解决方案的用户的尊重,也是出于对未来访问者的尊重,这些访问者可以轻松理解问题是否有有效答案。Thx但您能否提供一些代码。我在网上找不到满意的答案。谢谢。当然,修改答案太好了:)给我一个左撇子,因为我只是想帮忙,有人把我拦了下来。我没有注意到你正在使用json,而那个家伙甚至没花2秒钟,pam就否决了我,如果我想删除一个具有唯一ID的对象,我的示例会怎么样?比如说,我想删除id(在我的示例中是pid)=3Delete整{“pname”:“Justinbieber”,“pid”:“3”}的对象,给定pid==3Thx,但是您可以包含一些代码吗。我在网上找不到满意的答案。谢谢。当然,修改答案太好了:)给我一个左撇子,因为我只是想帮忙,有人把我拦了下来。我没有注意到你正在使用json,而那个家伙甚至没花2秒钟,pam就否决了我,如果我想删除一个具有唯一ID的对象,我的示例会怎么样?比如说,我想删除id(在我的示例中是pid)=3Delete整{“pname”:“Justinbieber”,“pid”:“3”}的对象,给定pid==3