CS 정리

JSON: JavaScript Object Notation

꼬드리 2024. 1. 3. 01:04


🚩JSON파일이란?

자바스크립트 객체 문법으로 구조화된 데이터 교환 형식으로, 여러 언어에서 데이터 교환 형식으로 쓰이며 객체문법 외에도 단순 배열, 문자열로도 표현 가능하다. 

JSON 파일을 자바스크립트에서 쓰고 싶다면 JSON.parse() 를 통해 자바 스크립트에서 사용할 수 있는 객체로 바꾸어 주어야 한다. 절대 그대로 가져다가 쓸 수가 없다. 이와 유사하게 파이썬에서는 JSON 파일을 가공하기 전에 딕셔너리로 바꿔주는 과정이 꼭 필요하다.

JSON은 단순 문자열이나 배열로 표현할 수 있다. 흔히 보이는 {} 같은 형태가 아니라 [], ""여도 가능하다는 것. 그러나 보통은 {"키": "value"}형태로 쓰이고, 여러 개의 묶음인 JSON  Array로 쓰이거나 JSON object로 쓰는 게 일반적이다.

JSON  파일은 js 객체와 유사한 모양을 띄지만, undefined나 메서드 등을 포함하지 않는다

 


🚩직렬화&역직렬화

json.parse()역직렬화(De-Serialization)에 사용된다. 자바스크립트 세계에서 JSON  파일을 사용하려면 이것을 자바 스크립트 객체로 변환을 시켜주어야 한다. 이때 받아온 파일에 parse()를 써서 사용할 수 있게 가공하는 과정을 역직렬화라고 부른다. 

 

또한 js 객체로 만든 데이터를, 파이썬이라는 다른 언어 세계에서 가공해서 쓰고 싶다면, 중간에 바로 변환하기란 불가하기 때문에 반드시 JSON  파일로 변환해서 보내야 한다. 즉! 외부의 다른 시스템이 사용할 수 있도록 만들어주는 '직렬화' 과정을 거쳐야 한다. 이때 직렬화json.stringify()를 통해 할 수 있다. 이렇게 내보낸 JSON 파일은 파이썬 쪽에서 불러와서 다시 딕셔너리로 만들 수 있는 것이다. 

JSON은 프로그래밍 언어와 프레임워크에서 독립적이기 때문에, 서로 다른 시스템 간에 데이터를 교환할 때 좋다. 주로 API의 반환 형태, 시스템을 구성하는 설정 파일에 활용된다. 

 



+) 우리가 데이터를 구축할 때는 스키마를 잘 구축해야 한다. 즉, 타입을 잘 짜야 한다. 들어올 데이터가 어떤 타입일 거라고 확실하게 예측할 수 있는 것이 중요하다.