안녕하세요. 제임스 입니다. 


이전 포스팅에서 JSON.stringify() 에 대해 알아 봤는데요. 이번에는 반대의 역할을 하는 JSON 의 parse() 함수에 대해 알아 보겠습니다. 


JSON.parse() 함수는 JSON 문자열을 javascript 객체로 변환합니다. 


Syntax

 JSON.parse( text[, reviver ] )



Parameters


text

javascript 객체로 변환하고자 하는 JSON 문자열 


reviver (Optional - 선택적)

만약 함수라면, 파싱을 통해 원래 생성 된 값이 반환되기 전에 어떻게 변환 될지를 지정




Examples


1
console.log(JSON.parse('{}'));
cs


실행 결과는 아래와 같습니다. 

{} 



1
2
console.log(JSON.parse('true'));
console.log(JSON.parse('"true"'));
cs


실행 결과는 아래와 같습니다. 

true

true


보기에는 동일해 보이지만 데이타 형이 다릅니다. 

첫번째 값은 boolean 값인 true

두번째 값은 String 값인 "true" 입니다. 


1
2
console.log(JSON.parse('[1, 5, "false"]'));
console.log(JSON.parse('[1, 5, false]'));
cs


실행 결과는 아래와 같습니다. 

[1, 5, "false"]

[1, 5, false]


첫번째 값은 배열에 문자열 false 가 

두번째 값은 배열에 boolean 값 false 가 리턴 되었습니다. 



1
2
console.log(JSON.parse('"string test"'));
console.log(JSON.parse('string test'));
cs


실행 결과는 아래와 같습니다. 

string test

Uncaught SyntaxError: Unexpected token s in JSON at position 0


첫번째는 문자열 string test 를 리턴 했습니다. 

하지만 두번째는 오류가 발생 했습니다. position 0 에 위치한 값이 string test 의 첫번째 문자 s 입니다. 

뭐가 문제일까요? 


문자열을 나타내고자 한다면 " " (double quotation marks) 로 감싸야 합니다. 그런데 " " 없이 string test 라는 문장을 입력 했기 때문에 문자열로 인식하지 못해 오류가 발생 한 것입니다. 

이런 실수 하지 않도록 조심해야 겠죠? ^^




 도움이 되셨다면 로그인이 필요 없는 

▼ 하트 클릭 한번 부탁 드립니다 

감사합니다 :D












블로그 이미지

쉬운코딩이최고

Android, Java, jsp, Linux 등의 프로그래밍 언어를 소개 합니다.

,