json_decode 값에서 특정 값을 어떻게 불러오나요?

json_decode 값에서 특정 값을 어떻게 불러오나요?

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

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

채택됨

LukcyHoo님의 답변

위에 

$postalcode = $data['addresses'][0]['addressElements'][0]['longName'];  이렇게 넣었다는걸 보면  [경상남]도 를 가져오려는것 같은데  $data->addresses[0]->addressElements[0]->longName;  이렇게 하면 됩니다.
다른걸 원하실시 위에소스를 참고하여 가져오면 됩니다.
주소복사
채택됨
답변의 댓글
무와보님의 댓글
아~ 제가 배열을 구하면서 시작을 0으로 해야 하는데 위에서 계산하면서 계속 9로 계산했더니 잘못된 거였네요.
님 소스를 멍하니 보다가 멍청한 짓을 했다는 것을 깨달았네요.
감사합니다..

볼피드님의 답변

print_r($data)

로 해당 변수에 어떤식으로 들어가있는지 확인해보세요

주소복사
답변의 댓글
무와보님의 댓글
아~ 내용중 처음 부분이 $data 값입니다. 제가 그 부분은 밝히지 않았네요.. ㅎㅎ
그 $data 값의 배열 중에서 경도, 위도는 뽑아낼 수 있는데 우편번호를 뽑지 못하여 질문드린 겁니다 ^^
답변을 작성하시기 전에 로그인 해주세요.
전체 76,619 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT