PHP不会更新JSON文件

时间:2014-07-21 09:28:12

标签: php file-get-contents json

这就是我的JSON文件目前的样子:

{"coins":"0","uses":"0"}    

我尝试使用以下PHP更新它的值:

$jsonString = file_get_contents('/path/money_maker.json');
$data = json_decode($jsonString);
$data["coins"] = $data["coins"] + $coins;
$data["uses"] = $data["uses"] + 1;
$newJsonString = json_encode($data);
file_put_contents('/path/money_maker.json', $newJsonString);

然而,它不起作用。怎么会?我尝试过做一些研究,但到目前为止没有任何帮助我。

2 个答案:

答案 0 :(得分:0)

文件的内容是json object.you不能像array.try这样使用它

$jsonString = file_get_contents('money-maker.json');
$data = json_decode($jsonString);
$data->coins = $data->coins + $coins;
$data->uses = $data->uses + 1;
$newJsonString = json_encode($data);
file_put_contents('money-maker.json', $newJsonString);

或者您可以先转换然后再使用它。

答案 1 :(得分:0)

sgt的答案是正确的,但你也可以使用assoc参数:$data = json_decode($jsonString, true);

让json_decode创建数组而不是PHP手册(http://be2.php.net/manual/en/function.json-decode.php)中所见的对象