JSON.stringify
JSON.parse
JSON (JavaScript Object Notation) 은 데이터 교환을 위해 만들어진 포맷이다.
예를 들어 다음과 같은 객체 내용을 네트워크를 통해 다른 프로그램으로 전송한다고 생각해 보자.
const comment = {
video: "Faker Plays",
comment: "페이커 너무 잘한다!",
number: 1,
boolean: true
}
객체를 전송하려면 수신자와 발신자가 같은 프로그램을 쓰거나, 아니면 문자열같은 범용적인 데이터 형태여야 한다.
객체, 배열 메소드인 String(comment)
혹은 comment.toString()
사용하면 [object Object]
를 반환할 뿐이다.
따라서 JSON.stringify()
를 사용한다. stringify 하는 과정을 직렬화(serailize)라고 한다.
JSON 데이터를 다시 객체로 만들려면 반대 함수인 JSON.parse()
를 사용하면 된다. parse 하는 과정을 역직렬화(deserialize)라고 한다.
let send = JSON.stringify(comment);
// 결과
"{"video":"Faker Plays","comment":"페이커 너무 잘한다!","number":1,"boolean":true}"
let commentObj = JSON.parse(send);
JSON 은 서로 다른 프로그램 사이에서 데이터를 교환하기 위한 포맷이며, 다른 언어에서도 범용적으로 사용되는 유명한 포맷이다.
""
로 감싼다. (JS - 따옴표로 감싸지 않아도 상관없음)""
로 감싼다. (JS - 작은따옴표 사용가능)// JS
{a: 1, b: 'Hello', c: true}
// JSON
{"a":1, "b":"Hello", "c":true}
항상 JSON 이 뭔지 몰라서 알고 싶었는데 드디어 알게 되었다. 누군가가 많은 노력과 시간을 들여 알기 쉽게 정리한 내용을 보는 것은 정말 효율적이다.