2016-09-09 2 views
0

임 다음 응답으로 다른 결과를 액세스하려고하지만 그것을 얻이 수없는 것 : 디코딩 멀티 레벨 JSON

{ 
    "id": "REGNOHERE", 
    "registration": "REGNOHERE", 
    "vehicle": { 
    "dvla": { 
     "make": "AUDI", 
     "model": "A4 SE TDI 6SP", 
     "regDate": "2008-09-29", 
     "v5cDate": "2011-10-27", 
     "vin": "WAUZZZ8K99A099266", 
     "colour": "BLUE", 
     "source": "UK", 
     "exported": "1", 
     "exportedDate": "2015-12-09", 
     "imported": null, 
     "importedNi": null, 
     "importedDate": null, 
     "body": "4 DOOR SALOON", 
     "bodyClass": "CAR", 
     "seatingCapacity": 5, 
     "wheelplan": "2 AXLE RIGID BODY", 
     "co2": 139, 
     "cc": 1968, 
     "engineNumber": "CAG 120938", 
     "engineCode": "2.0 TDI E4", 
     "fuel": "HEAVY OIL", 
     "maxPower": 105, 
     "maxTechMass": 2010 
    } 

내가 응답을 디코딩하는 다음 사용하고,에 시도 그 안에 데이터에 액세스하십시오.

$data = json_decode($response, TRUE); 
$carmake['vehicle']['dvla']['make']; 

나는 뭔가를 놓치고 있습니까 ??

+3

'$ data'가 아닌'$ carmake '가되어야합니까? 나는 누락 된 2'}'가 실수로 붙여 넣기 오류라고 가정하고 있습니다. –

답변

1

$carmake 존재하지 않습니다. json_decode에서 만든 배열은 $data입니다. $carmake을 할당하려면 다음과 같이하면됩니다.

$carmake = $data['vehicle']['dvla']['make']; 
echo $carmake; 
// output.. 
// AUDI 
+0

화려한 감사합니다! 나는 내가 간단한 것을 놓쳤다는 것을 알았다! – NewToCode