배열을 맞게 사용한 거 같은데 오류가 발생합니다

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
배열을 맞게 사용한 거 같은데 오류가 발생합니다

QA

배열을 맞게 사용한 거 같은데 오류가 발생합니다

본문

api에서 데이터를 넘겨받아 사용하려고 하는데

콘솔창에 다음과 같은 에러가 발생했습니다.

파일이름:428 Uncatched TypeError: 정의되지 않은 속성('0' 읽기)을 읽을 수 없습니다.

 

api에서 넘겨받은 데이터를 콘솔에 그대로 출력하면 다음과 같이 나옵니다.

콘솔 출력: console.log(data);


{
    "code":"SUCCESS",
    "msg":"정상처리되었습니다",
    "data":[
        {"mb_no":1,"mb_name":"철수"},
        {"mb_no":4, "mb_name":"혜수"},
         {"mb_no":3,"mb_name":"민수"}
    ]
}

 

데이터를 사용하기 위해 data["data"][0]["mb_name"]를 사용하려고 했는데 오류가 났습니다.

어디서 잘못된 건지 모르겠어서 질문 드립니다.

고수님들 도와주세요 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 3


aa=JSON.parse(`{
    "code":"SUCCESS",
    "msg":"정상처리되었습니다",
    "data":[
        {"mb_no":1,"mb_name":"철수"},
        {"mb_no":4, "mb_name":"혜수"},
         {"mb_no":3,"mb_name":"민수"}
    ]
}`);

aa['data'][0]['mb_name'];
'철수'

 

정상입니다.

 

javascript 소스에 문제가 있는 거 아닐까요?

console.log(data)를 찍어봤을 땐 정상적으로 출력되고

그 바로 아래 줄에
console.log(data["data"][0]["mb_name"])를 하면 오류가 납니다 ㅠㅠ
도대체 뭐가 문제인 건지...

데이터 타입의 문제였습니다!!

ajax에서 데이터를 받을 때 string 값으로 넘어오고 있었어요...

받는 데이터 타입을 json 값으로 받도록 설정해서 해결했습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 75
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT