엄살떠는 사람

[javascript] json array value 값 받기 본문

프로그래밍

[javascript] json array value 값 받기

Umsal 2020. 12. 5. 00:48
반응형

댓글 리스트를 만들다가

jsp 에 json 값을 가져온후 value 값을 못 받는 상황이 발생했다.

$.getJSON('commentList.do', function(data){
	console.log(data);
});

data 값을 출력 하면 잘 나오고 

$.getJSON('commentList.do', function(data){
	$.each(data, function(i, item){
		console.log(item);
	});
});

 item 값을 출력하면 잘 나온다.

 

 하지만, cmt_id 값을 출력하면?

$.getJSON('commentList.do', function(data){
	$.each(data, function(i, item){
		console.log(item.cmt_id);
	});
});

undefined 값이 출력된다.

그래서 $.each 를 두번 돌리면 된다는 말을 구글링을 통해 알아냈지만...

$.getJSON('commentList.do', function(data){
	$.each(data, function(i, item){
		$.each(item, function(index, check){
			console.log(check);	
		});
	});
});

또 오류가 발생.... 하지만 또 구글링을 해보면 JSON.parse(item) 을 해보면 된다고 한다

$.getJSON('commentList.do', function(data){
	$.each(data, function(i, item){
		$.each(JSON.parse(item), function(index, check){
			console.log(check);	
		});
	});
});

하지만 원하는 cmt_id의 value 값은 따로 뽑아내지는 못했는데.....

2주간의 삽질결과

$.getJSON('commentList.do', function(data){
	$.each(data, function(i, item){
		console.log(JSON.parse(item).cmt_id);
	});
});

each를 1번 쓰고 JSON.parse()를 쓰면된다고 한다.

그럼....

2번째 코드와 저 코드는 무슨 차이가 있길래 위에껀 안되고 아래껀 될까...

 

typeoff 로 item을 보면 string이더라....

그래서 JSON.parse()으로 object로 변환시켜준뒤 .cmt_id를 붙여주니까 value값이 출력이된다. 

 

변수의 타입을 잘 보도록하자

반응형