我在JSON文件abc_def_ghi
中存在一个JSON对象数组../hello/xyz.json
。 json文件中的内容为:
{
"abc_def_ghi": ["nada", "no", "yes", "nada", "nada", "no"],
"world_status": null
}
下面是我如何在变量中加载json:
if (file_exists('../hello/xyz.json')) {
$data = json_decode(file_get_contents('../hello/xyz.json'));
}
我下面有一个代码,该代码在JSON对象数组中添加默认值(在特定条件下)。现在,我需要用此新内容覆盖我的JSON文件。
if ((date('j')==29)) {
$data->abc_def_ghi = array_fill(0, count($data->abc_def_ghi) , nada); // Line A
file_put_contents('../hello/xyz.json', $data);
}
问题陈述:
我尝试了上面的代码,但是不知何故它不会覆盖我的文件,但是删除了文件的所有内容。
添加默认值后,我的JSON在文件中应如下所示:
{
"abc_def_ghi": ["nada", "nada", "nada", "nada", "nada", "nada"],
"world_status": null
}
答案 0 :(得分:1)
您需要先json_encode
写入数据:
file_put_contents('../hello/xyz.json', json_encode($data));