Php 如何添加到.JSON文件中的JSON数组
如何使用PHP添加到.json文件?目前,我正在用PHP附加一个.json文件,但它不会将数据添加到现有的json对象中。它生成一个新对象。我需要所有数据都存储在一个对象中,在一个外部JSON文件中。基本上,我有一个JSON对象,希望向它添加更多值Php 如何添加到.JSON文件中的JSON数组,php,json,file,arrays,Php,Json,File,Arrays,如何使用PHP添加到.json文件?目前,我正在用PHP附加一个.json文件,但它不会将数据添加到现有的json对象中。它生成一个新对象。我需要所有数据都存储在一个对象中,在一个外部JSON文件中。基本上,我有一个JSON对象,希望向它添加更多值 $jsonFile = "test.json"; $fh = fopen($jsonFile, 'w'); $json = json_encode(array("message" => $name, &
$jsonFile = "test.json";
$fh = fopen($jsonFile, 'w');
$json = json_encode(array("message" => $name, "latitude" => $lat, "longitude" => $lon, "it" => $it));
fwrite($fh, $json);
您可以将json文件解码为php数组,然后插入新数据并再次保存
<?php
$file = file_get_contents('data.json');
$data = json_decode($file);
unset($file);//prevent memory leaks for large json.
//insert data here
$data[] = array('data'=>'some data');
//save the file
file_put_contents('data.json',json_encode($data));
unset($data);//release memory
您可以将json文件解码为php数组,然后插入新数据并再次保存
<?php
$file = file_get_contents('data.json');
$data = json_decode($file);
unset($file);//prevent memory leaks for large json.
//insert data here
$data[] = array('data'=>'some data');
//save the file
file_put_contents('data.json',json_encode($data));
unset($data);//release memory
以上建议的是艰难的道路。我正在考虑应该有一种更简单的方法,将数组添加到json文件中
以下是算法:
$handle=fopen($jsonFile);
fseek($handle,-1,SEEK_END);
fwrite($handle,$arrayToAdd);
fclose($handle);
但我不确定这样做是否比将整个json文件读入内存、添加数组然后将其存储更高效 上面提到的是艰难的道路。我正在考虑应该有一种更简单的方法,将数组添加到json文件中
以下是算法:
$handle=fopen($jsonFile);
fseek($handle,-1,SEEK_END);
fwrite($handle,$arrayToAdd);
fclose($handle);
但我不确定这样做是否比将整个json文件读入内存、添加数组然后将其存储更高效 我将json\u解码它,array\u合并它与新数组,然后再json\u编码它。你说要检索已经存在的内容,然后合并并重新编码数组?然后,将其重新写入json文件?准确地说。我不知道您可能会使用任何可行的就地转换。只要数据被合并,我就可以。我必须说mysql函数是绝对删除的,请使用PDO或mysqli函数。我会json\u decode
it,array\u merge
it与新数组一起,然后再次对它进行编码。你说要检索已经存在的内容,然后合并并重新编码数组?然后,将其重新写入json文件?准确地说。我不知道您可能会使用任何可行的就地转换。只要数据被合并,我就可以。我必须说mysql函数是绝对删除的,请使用PDO或mysqli函数。是的,这样做确实大大减少了内存和CPU的浪费。然而,当数据结构改变时,你需要修改你的代码。是的,这样做确实会大大减少内存和CPU的浪费。但是,当数据结构发生更改时,您需要为此修改代码。