我在文件中有以下JSON list.txt:
list.txt
{ "bgates":{"first":"Bill","last":"Gates"}, "sjobs":{"first":"Steve","last":"Jobs"} }
如何"bross":{"first":"Bob","last":"Ross"}使用PHP 添加到文件中?
"bross":{"first":"Bob","last":"Ross"}
这是我到目前为止的内容:
<?php $user = "bross"; $first = "Bob"; $last = "Ross"; $file = "list.txt"; $json = json_decode(file_get_contents($file)); $json[$user] = array("first" => $first, "last" => $last); file_put_contents($file, json_encode($json)); ?>
这给了我一个致命错误:无法在此行上将stdClass类型的对象用作数组:
$json[$user] = array("first" => $first, "last" => $last);
我正在使用PHP5.2。有什么想法吗?谢谢!
错误消息中的线索是-如果您查看文档以json_decode了解它可能需要第二个参数,该参数控制返回数组还是对象-它默认为object。
json_decode
因此,将您的通话更改为
$json = json_decode(file_get_contents($file), true);
并且它将返回一个关联数组,您的代码应该可以正常工作。