读取和写入JSON文件而不更改PHP中的格式

时间:2016-05-13 10:02:55

标签: php json

让我们有file.json包含JSON,例如

{
  "first-key": "foo",
  "second-key": "bar"
}

现在,如果我使用PHP内置函数对JSON进行编码和解码,则会更改格式。有没有办法在不重新格式化JSON的情况下如何做到这一点?

我需要添加一个密钥,文件在Git中提交。因此,我想避免改变那些没有真正改变的行。

2 个答案:

答案 0 :(得分:1)

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"
}

答案 1 :(得分:0)

<?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;

?>