json_decode 값에서 특정 값을 어떻게 불러오나요?
본문
네이버지도 api를 이용해서 우편번호를 구해오려고 합니다.
{
"status": "OK",
"meta": {
"totalCount": 1,
"page": 1,
"count": 1
},
"addresses": [
{
"roadAddress": "경상남도 거제시 연초면 효촌1길 10-1",
"jibunAddress": "경상남도 거제시 연초면 연사리 93",
"englishAddress": "10-1, Hyochon 1-gil, Yeoncho-myeon, Geoje-si, Gyeongsangnam-do, Republic of Korea",
"addressElements": [
{
"types": ["SIDO"],
"longName": "경상남도",
"shortName": "경상남도",
"code": ""
},
{
"types": ["SIGUGUN"],
"longName": "거제시",
"shortName": "거제시",
"code": ""
},
{
"types": ["DONGMYUN"],
"longName": "연초면",
"shortName": "연초면",
"code": ""
},
{
"types": ["RI"],
"longName": "연사리",
"shortName": "연사리",
"code": ""
},
{
"types": ["ROAD_NAME"],
"longName": "효촌1길",
"shortName": "효촌1길",
"code": ""
},
{
"types": ["BUILDING_NUMBER"],
"longName": "10-1",
"shortName": "10-1",
"code": ""
},
{
"types": ["BUILDING_NAME"],
"longName": "",
"shortName": "",
"code": ""
},
{
"types": ["LAND_NUMBER"],
"longName": "93",
"shortName": "93",
"code": ""
},
{
"types": ["POSTAL_CODE"],
"longName": "53209",
"shortName": "53209",
"code": ""
}
],
"x": "128.6521583",
"y": "34.9070498",
"distance": 0
}
],
"errorMessage": ""
}
이런 값이 있을 경우
$map_x_point = $data['addresses'][0]['x'];
$map_y_point = $data['addresses'][0]['y'];
이렇게 해당 주소의 경도 위도를 구하는 것은 이해했습니다.
여기서 우편번호를 구하려고
$postalcode = $data['addresses'][0]['addressElements'][0]['longName'];
이런 식으로 해보니 안되더군요..
이런 경우에는 어떻게 해야 저 우편번호를 뽑아올 수 있을까요?
!-->!-->답변 2
위에
$postalcode = $data['addresses'][0]['addressElements'][0]['longName']; 이렇게 넣었다는걸 보면 [경상남]도 를 가져오려는것 같은데 $data->addresses[0]->addressElements[0]->longName; 이렇게 하면 됩니다. 다른걸 원하실시 위에소스를 참고하여 가져오면 됩니다.
print_r($data)
로 해당 변수에 어떤식으로 들어가있는지 확인해보세요
답변을 작성하시기 전에 로그인 해주세요.