JSON

Samuel .J·2022년 3월 3일
0
post-thumbnail

JSON이란?

  • JSON은 JavaScript Object Notaion의 줄임말로, 데이터 교환을 위해 만들어진 객체 형태의 포맷이다.
  • JSON은 두개의 구조를 기본으로 두고 있다.
    name/value 형태의 쌍으로 collection 타입. 다양한 언어들에서, 이는 object, record, struct(구조체), dictionary, hash table, 키가 있는 list, 또는 연상배열로서 실현 되었다.
    값들의 순서화된 리스트. 대부분의 언어들에서, 이는 array, vector, list, 또는 sequence로서 실현 되었다.

JSON 사용방법

  • JSON.stringify : Object type을 JSON으로 변환한다.
  • JSON.parse : JSON을 Object type으로 변환한다.
const message = {
  sender: "김코딩",
  receiver: "박해커",
  message: "해커야 오늘 저녁 같이 먹을래?",
  createdAt: "2021-01-12 10:10:10"
}

위 객체를 토대로 두가지 방법을 사용하는 예시를 보겠다.
JSON.stringify 적용방법

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)한다고 합니다.

[코드] message 객체를 JSON으로 변환하는 메서드 JSON.stringify

JSON.parse 적용방법

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은 키와 값 사이, 그리고 키-값 쌍 사이에는 공백이 있어서는 안된다.
  • JSON은 얼핏 보기에 자바스크립트의 객체와 별반 다를 바가 없어 보이지만, 자바스크립트의 객체와는 미묘하게 다른 규칙이 있다. 아래 표를 확인해 보자.
자바스크립트 객체JSON
키는 따옴표 없이 쓸 수 있음반드시 큰따옴표를 붙여야 함
문자열 값문자열 값은 어떠한 형태의 따옴표도 사용 가능반드시 큰따옴표를 붙여야 함
profile
기록하는 코린이의 블로그🥸

0개의 댓글