在不更改PHP格式的情况下读写JSON文件
问题描述:
让我们有一个包含JSON的file.json
,例如,在不更改PHP格式的情况下读写JSON文件
{
"first-key": "foo",
"second-key": "bar"
}
现在,如果我使用PHP内置函数编码和解码JSON,它将更改格式。有没有办法如何做到这一点,而无需重新格式化JSON?
我需要添加一个密钥,并在Git中提交文件。因此,我想避免改变没有真正改变的线条。
答
<?php
$json = '{
"first-key": "foo",
"second-key": "bar"
}';
$arr = json_decode($json, true);
echo "<pre>";
print_r($arr);
echo "</pre>";
$arr_new = array("newKey"=>$arr);
$json_new = json_encode($arr_new);
echo $json_new;
?>
答
JSON_PRETTY_PRINT标志与您在不手动编辑json编码字符串的情况下所得到的一样近。它看起来应该适用于你的例子。
<?php
$json = '{
"first-key": "foo",
"second-key": "bar"
}';
$arr = json_decode($json, true);
$arr['second-key'] = 'baz';
print_r(json_encode($arr, JSON_PRETTY_PRINT));
=
{
"first-key": "foo",
"second-key": "baz"
}
+0
我知道关于国旗。它仍然不能解决问题。它通过其规则重新格式化整个文件。 –
'无Chainging Formatting'手段?? –
没有改变缩进,行结束等 –