Javascript

JS JSON

SeanK 2021. 11. 16. 21:31

 

 

 

오늘 코딩을 하면서 자꾸 오류가 발생하고, 

 

테스트 코드를 통과하지 못해 너무너무너무 화가 끝까지 차올랐다가

 

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}"

 

모두들 주의해서 사용하길 바란다.