PHP中的JSON数组解析
请帮助我如何在PHP中解析以下JSON 我使用PIWIK报告api获得了以下JSON。如何在PHP中从下面的json中获取PageTitle。我尝试了以下JSON解析代码PHP中的JSON数组解析,php,json,matomo,Php,Json,Matomo,请帮助我如何在PHP中解析以下JSON 我使用PIWIK报告api获得了以下JSON。如何在PHP中从下面的json中获取PageTitle。我尝试了以下JSON解析代码 $json = '[ { "idSite": "1", "idVisit": "84", "visitorId": "f08dc1f2a3e1f839", "visitorType": "returning", "visitorTypeIcon": "plugins/Live/image
$json = '[
{
"idSite": "1",
"idVisit": "84",
"visitorId": "f08dc1f2a3e1f839",
"visitorType": "returning",
"visitorTypeIcon": "plugins/Live/images/returningVisitor.gif",
"visitConverted": "0",
"visitConvertedIcon": null,
"visitEcommerceStatus": "none",
"visitEcommerceStatusIcon": null,
"searches": "0",
"events": "4",
"actions": "9",
"actionDetails": [
{
"type": "action",
"url": "http://mywwebsiteurl.com",
"pageTitle": "PageTitle",
"pageIdAction": "110"
}
]
}
]';
$visits = json_decode($json, true);
foreach ($visits->actionDetails as $data) {
echo $data->pageTitle;
}
我收到以下通知
Notice: Trying to get property of non-object
如何从上面的JSON获取页面标题 应该是:-
$visits = json_decode($json, true);
foreach ($visits[0]["actionDetails"] as $data) {
echo $data["pageTitle"];
}
您将第二个属性设置为TRUE-因此根据手册。 如果为TRUE,则返回的对象将转换为关联数组 试着用数组替换
foreach ($visits['actionDetails'] as $data){
echo $data['pageTitle'];
}
json_decode()的第二个参数控制返回类型。如果省略或设置为false(默认值),则返回一个对象。如果设置为true,则返回一个数组
您的代码,
json\u decode($json,true)代码>,将返回一个数组,但您随后尝试将该数组用作对象。$visits->actionDetails['pageTitle']应访问数据。当您将true作为第二个参数时,它将返回一个数组而不是stdClass。感谢您的回复。我得到了页面标题。谢谢亚历克斯的回复。