Javascript - JSON

노종열·2022년 8월 21일
0
post-thumbnail

JSON

  • Javascript Object Notation의 줄임말
  • 데이터 교환을 위해 만들어진 객체 형태의 포맷
const message = {
  sender: "김코딩",
  receiver: "박해커",
  message: "해커야 오늘 저녁 같이 먹을래?",
  createdAt: "2021-01-12 10:10:10"
}

이러한 메세지 객체를 전송하려면,
메세지를 보내는 발신자와 수신자가 같은 프로그램을 사용하거나, 문자열처럼 범용적으로 읽을 수 있는 형태여야 한다.

그러나 message.toString()이나 String(message)를 사용하면 [object Object]라는 결과를 리턴 받는다.

따라서 이 문제를 해결하기 위한 메서드를 사용해야 한다.


JSON 전달을 위한 메서드

JSON.stringify

  • 객체를 JSON으로 변환한다.
let transferableMessage = JSON.stringify(message)

console.log(transferableMessage) 
//`{
//"sender":"김코딩",
//"receiver":"박해커",
//"message":"해커야 오늘 저녁 같이 먹을래?",
//"createdAt":"2021-01-12 10:10:10"
//}`

console.log(typeof(transferableMessage))
// `string`

stringify하는 이 과정을 직렬화(serialize)라고 부른다.
JSON으로 변환된 객체의 타입은 문자열이다.

JSON.parse

  • 문자열 메시지를 JSON을 객체로 변환한다.
let packet = `{"sender":"김코딩","receiver":"박해커","message":"해커야 오늘 저녁 같이 먹을래?","createdAt":"2021-01-12 10:10:10"}`
let obj = JSON.parse(packet)

console.log(obj)
/*
 * {
 * sender: "김코딩",
 * receiver: "박해커",
 * message: "해커야 오늘 저녁 같이 먹을래?",
 * createdAt: "2021-01-12 10:10:10"
 * }
 */

 console.log(typeof(obj))
 // `object`

JSON.parse를 적용하는 이 과정을 역직렬화(deserialize)라고 부른다.


JSON 정리

  • JSON은 서로 다른 프로그램 사이에서 데이터를 교환하기 위한 포맷이다.
  • JSON 포맷은 자바스크립트를 포함한 많은 언어에서 범용적으로 사용하는 유명한 포맷이다.
  • JSON의 기본 규칙
profile
FE개발자 지향 중

0개의 댓글