안녕하세요. 제임스 입니다.
이전 포스팅에서 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
'javascript' 카테고리의 다른 글
[ javascript 코딩 ] 자바스크립트 comment (1199) | 2018.05.15 |
---|---|
[ javascript 코딩 ] JSON.stringify() 사용방법 - JSON 가독성 높이기 (7) | 2018.05.14 |
[ Javascript 코딩 ] JSON.stringify() - javascript 값을 JSON string 으로 변환하기 (6) | 2018.05.09 |
[ javascript 코딩 ] JSON 이란? (6) | 2018.05.04 |
[ 자바스크립트 코딩 ] User Agent 를 이용한 단말정보 가져오기 (1205) | 2018.01.17 |