2014-08-31 7 views
0

다음 출력에서 ​​username 및 id 값을 가져 오려고합니다. json 속성을 구문 분석 할 수 없습니다.

{ 
    "listusersresponse": { 
    "count": 1, 
    "user": [ 
     { 
     "id": "f01e8ea4-2da5-11e4-a846-726c7bbb864f", 
     "username": "admin", 
     "firstname": "admin", 
     "lastname": "test", 
     "created": "2014-08-26T20:52:24-0400", 
     "state": "enabled", 
     "account": "admin", 
     "accounttype": 1, 
     "domainid": "c091153a-2da5-11e4-a846-726c7bbb864f", 
     "accountid": "f01e7c02-2da5-11e4-a846-726c7bbb864f", 
     "iscallerchilddomain": false, 
     "isdefault": true 
     } 
    ] 
    } 
} 

내가이 들어

$url = file_get_contents("http://URL/client/&response=json"); 

$data = json_decode($url); 

var_dump($data); 

foreach ($data as $value) { 
    echo $value->count; 
    } 

가 작동하고 다음을

foreach ($data as $value) { 
    echo $value->user->username; 
    } 

내가 도착을 "사용자 이름"에 접근을 시도 할 때 나는 그러나 1

를 얻을 시도 것입니다 오류 : 공지 : "파일 이름"에 객체가 아닌 속성을 얻으려고 시도합니다.

답변

2

사용자는 배열입니다.

foreach ($data as $value) { 
    echo $value->user[0]->username; 
} 

당신의 JSON 여러 사용자와 모양을 확실하지, 그것은이 다음 같아요 같이해야합니다 :

foreach ($data as $value) { 
    foreach ($value->user as $user) { 
     echo $user->username; 
    } 
} 
+1

완벽한을, 감사합니다! – Deano

관련 문제