Php 如何向JSON文件添加数据而不完全覆盖其当前内容?(菲律宾)
假设我的服务器上有一个info.JSON文件,其中包含以下数据:Php 如何向JSON文件添加数据而不完全覆盖其当前内容?(菲律宾),php,json,overwrite,file-put-contents,Php,Json,Overwrite,File Put Contents,假设我的服务器上有一个info.JSON文件,其中包含以下数据: {"firstName":"John","age":"37"} 在PHP中,我想在info.JSON文件中添加另一个键/值对,例如某人的中间名。 如果我使用file_put_contents函数,将完全覆盖该文件。例如: $middleName = array("middleName" => "Bill"); file_put_contents("info.json",json_encode($middleName));
{"firstName":"John","age":"37"}
在PHP中,我想在info.JSON文件中添加另一个键/值对,例如某人的中间名。
如果我使用file_put_contents函数,将完全覆盖该文件。例如:
$middleName = array("middleName" => "Bill");
file_put_contents("info.json",json_encode($middleName));
info.JSON文件的内容现在是:
{"middleName":"Bill"}
如何简单地向现有的.JSON文件添加更多的键/值对而不覆盖它
谢谢。如果您使用json\u decode$json,请将true与true标志一起使用,以便将其作为关联数组返回。然后,您可以使用数组语法添加项,并在放入文件之前再次进行json_编码
$json=file_get_contents('path/to/your/file);
$temp = json_decode($json,true);
$temp['middleName'] ='Bill';
$json = json_encode($temp);
file_put_contents($json);
file\u put\u contents接受第三个参数,称为:flags,您可以传递诸如:file\u APPEND之类的内容。你还有一个猜测:阅读手册json_decodefile_get_contents'info.json'中关于函数的更多信息,这样你就可以更容易地处理一个PHP对象,然后写回该文件。@Rizier123似乎只是附加到该文件中很可能会破坏json,你认为呢?嘿,我对旧问题注释了新代码:DYeah,将内容添加到文件只是将其添加到文件末尾。这不是正确格式的JSON。我会试试你的解决办法,不要惊慌。