2014-07-11 7 views
0

PHP에서 JSON 구문을 구문 분석하는 방법을 알려주세요.PHP에서 JSON 배열 구문 분석

PIWIK보고 API를 사용하여 JSON을 따라갔습니다. PageTitle을 PHP의 json 다음에서 가져 오려면 어떻게합니까? JSON 구문 분석을 위해 다음 코드를 시도했다.

$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 위에서 pageTitle를 얻을하는 방법.

+0

$ visits-> actionDetails [ 'pageTitle']이 (가) 데이터에 액세스해야합니다. 두 번째 매개 변수로 true를 설정하면 stdClass가 아닌 배열을 반환합니다. –

답변

1

그것은해야한다 : -

$visits = json_decode($json, true); 
foreach ($visits[0]["actionDetails"] as $data) { 
     echo $data["pageTitle"]; 
} 
+0

답변 해 주셔서 감사합니다. 나는 pageTitle을 얻었다. – sathish

+0

당신은 환영합니다 – Khushboo

0

당신은 TRUE로 두 번째 속성을 설정 - 그래서 설명서에 따라. "TRUE 일 때, 반환 된 객체는 연관 배열로 변환됩니다."

는 어레이 aproach

foreach ($visits['actionDetails'] as $data){ 
    echo $data['pageTitle']; 
} 
+0

알렉스 귀하의 회신에 감사드립니다. – sathish

0
documented in the manual로서

mentioned by Matt, json_decode의 두 번째 매개 변수()의 리턴 형 제어를 사용하여 시도. 생략되거나 false (기본값)로 설정된 경우 오브젝트가 리턴됩니다. true로 설정하면 배열이 반환됩니다.

코드 json_decode($json, true);은 배열을 반환하지만 배열로 개체를 사용하려고합니다.