我需要使用 PHP 将一个新对象附加到 JSON 数组。
JSON:
{
"maxSize":"3000",
"thumbSize":"800",
"loginHistory":[
{
"time": "1411053987",
"location":"example-city"
},
{
"time": "1411053988",
"location":"example-city-2"
}
]}
Run Code Online (Sandbox Code Playgroud)
到目前为止的 PHP:
$accountData = json_decode(file_get_contents("data.json"));
$newLoginHistory['time'] = "1411053989";
$newLoginHistory['location'] = "example-city-3";
array_push($accountData['loginHistory'],$newLoginHistory);
file_put_contents("data.json", json_encode($accountData));
Run Code Online (Sandbox Code Playgroud)
我不断得到:
致命错误:未捕获错误:无法将 stdClass 类型的对象用作数组
并null作为保存 JSON 文件时“loginHistory”对象的输出。
$accountData是一个对象,它应该是一个对象。数组访问无效:
array_push($accountData->loginHistory, $newLoginHistory);
// or simply
$accountData->loginHistory[] = $newLoginHistory;
Run Code Online (Sandbox Code Playgroud)