오늘 코딩을 하면서 자꾸 오류가 발생하고,
테스트 코드를 통과하지 못해 너무너무너무 화가 끝까지 차올랐다가
JSON값을 객체로 변환하지 않고 사용했음을 알고 조울증 환자처럼 갑자기 너무 기뻐서 치킨을 시켰다.

오늘은 JSON에 대해 알아보자.
JSON 기본 개념
JSON의 기본적인 개념은 사실 인터넷에 잘 나와있다.
JSON은 일종의 컴퓨터 세계관의 English와 같은 표기법이다.
컴퓨터와 컴퓨터끼리 사용하는 언어가 다르면 데이터를 주고받을 때 의사소통에 문제가 발생하게 되는데,
이를 공통적인 규칙을 만들어 공유함으로서 그 문제를 해결하고 있다.
이전에는 XML이라는 마크업 랭귀지를 사용했지만 요즘은 JSON이 일반적으로 사용되고 있다.
JSON의 또 다른 특징은 자바스크립트의 Object와 생김새가 매우 비슷하다는 것이다.
JSON의 뜻 자체가 Javascript Object Notation으로 대놓고 객체표기라고 말하고 있다.
이유는 객체 형식의 자료형이 대다수의 프로그램 언어에서 지원하는 형식이기 때문에 범용성이 뛰어나기 때문이다.
그렇다고 객체와 JSON이 완전히 같지는 않다.
띄어쓰기, 따옴표 등 세세한 부분에서 차이점이 있기 때문에 JSON을 자바스크립트내에서 혹은 객체를 JSON처럼
사용하게 되면 오늘의 필자처럼 눈물 콧물을 쏟게 될 것이다.
자세한 차이점은 아래 블로그 참조:
https://medium.com/@easyexpresssoft/object-literal-vs-json-7a2084872907
JSON to Object >> JSON.parse()
JSON.parse()는 JSON을 객체로 변환시킬 때 사용하는 메소드다. 아래 예제를 한번 살펴보자.
const json = '{"result":true, "count":42}';
const obj = JSON.parse(json);
파싱 이후 obj에는 객체가 할당되어 자유롭게 사용할 수 있게 된다.
Object to JSON>> JSON.stringify()
반대로 객체를 JSON으로 변환하고 싶을 때는 JSON.stringify() 메소드가 있다.
아래는 예제이다.
console.log(JSON.stringify({ x: 5, y: 6 }));
// expected output: "{"x":5,"y":6}"
모두들 주의해서 사용하길 바란다.
'Javascript' 카테고리의 다른 글
[JS] Event Bubbling and Event Capturing (0) | 2021.12.05 |
---|---|
JS require와 import의 차이? (0) | 2021.12.03 |
JS 약식 분기문에 의한 값 할당 방법 (0) | 2021.11.16 |
JS Operator "!!" & "^=" (0) | 2021.11.12 |
JS Linked-list & Hash table (0) | 2021.11.11 |