JSON, 직렬화와 역직렬화

임승환·2024년 4월 29일

CS

목록 보기
4/5

JSON

Javascript 객체 문법으로 구조화된 데이터교환형식, python, javascript, java 등 여러 언어에서 데이터 교환형식으로 쓰이며 객체문법 말고도 단순 배열, 문자열도 표현 가능하다.

Javascript 객체문법

키(key)와 값(value)로 구성된다.

이미 존재하는 키를 중복선언하면 나중에 선언한 해당 키에 대응한 값이 덮어쓰이게 된다.

{
	"name" : "a",
	"name" : "b",
	"name" : "b"
}

출력 name : b

const fs = require('fs')
const path = require('path')
const example = fs.readFileSync(path.join(__dirname, "example.json"))
console.log(example)
console.log(JSON.parse(example))

JSON.parse = Json 파일을 JS OBJECT로 변환해주는 것

데이터 + 교환 형식

데이터는 추상적인 아이디어에서부터 시작해 구체적인 측정에 이르기 까지 다양한 의미로 쓰인다. 실험, 조사, 관찰 등으로부터 얻은 사실이나 자료 등을 의미한다.

여러 언어에서 쓰인다.

객체, 해시테이블, 딕셔너리 등으로 변환되어 쓰인다.

프로그래밍 언어들과 프레임워크 등에 독립적이다.

따라서 서로 다른 시스템간에 데이터를 교환하기에 좋다.

주로 API의 반환 형태, 시스템을 구성하는 설정 파일에 활용된다.

키, 밸류 형태가 아닌 단순 배열, 문자열도 표현 가능 하다.

JSON 타입

javascript object와 유사하지만, undefined, 메서드 등을 포함할 수 없다, 아래 종류를 사용할 수 있다.

  • 수(Number)
  • 문자열(String)
  • 참/거짓(Boolean)
  • 배열(Array)
  • 객체(Object)
  • null

JSON 직렬화, 역직렬화

직렬화 : 외부의 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터를 반환하는 기술이며 역직렬화는 반대를 의미한다.

역직렬화 : 외부 시스템에서도 사용할 수 있도록 만들어주는 것

JSON.parse() : 문자열 → 객체 (역직렬화)

JSON.stringify() : 객체 → 문자열 (직렬화)

profile
주니어 개발자

0개의 댓글