如何在不更改PHP中的文件组合的情况下更新json文件中的值

时间:2019-05-20 21:30:29

标签: php json

我开始使用php的时间很短。 我已经写了一个php代码来更新json文件, 在运行代码后,我的json文件格式的字符串更改了,所有字符串都设置在一行中!

我的json文件在多行中具有以下格式:

{
"Param": {
"ID":"1",
"status":"ok",
"username":"Rose",
"password":"edition12548",
"Enable":"1"
},
"PRO":
{
"ID":"End",
"Finished":"True"
}
}

,并使用此代码更新启用值:

$jsondata = file_get_contents("C:\List.json");
$array = json_decode($jsondata, true);
      $array[Param]["Enable"]="2";
    file_put_contents('C:\List2.json', json_encode($array));

但新的json文件格式已更改,并且所有字符串都设置为一行:

{“ Param”:{“ ID”:“ 1”,“ status”:“ ok”,“ username”:“ Rose”,“ password”:“ edition12548”,“ Enable”:“ 2”}, “ PRO”:{“ ID”:“结束”,“完成”:“真实”}}

我想通过保留格式进行更改 有什么办法?

1 个答案:

答案 0 :(得分:0)

如果要“整理” json_encode函数的输出,则必须在函数中添加第二个参数,即“ options”参数。在您的情况下(如果我理解正确),您必须使用的代码示例为:

json_encode($array, JSON_PRETTY_PRINT);

如果您想了解更多有关其他json_encode选项的信息,可以阅读以下PHP文档页面:https://www.php.net/manual/en/function.json-encode.php