JSON이란?

PromptAction·2023년 11월 21일
0

백엔드

목록 보기
7/20

JSON(JavaScript Object Notation) :

Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷.

웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용한다.
(서버에서 클라이언트로 데이터를 전송하여 표현하거나 반대의 경우.)

Javascript 객체 문법과 비슷하지만 딱히 javascript가 아니더라도 JSON을 읽고 쓸 수 있는 기능이 다수의 프로그래밍 환경에서 제공된다.

JSON은 문자열 형태로 존재함. - 네트워크를 통해 전송할 때 유용함.

데이터에 접근하기 위해서 네이티브 JSON 객체로 변환될 필요가 있다. javascript는 JSON 전역 객체를 통해 문자열과 JSON 객체의 상호변환을 지원한다.

*문자열에서 네이티브 객체로 변환하는것은 Parsing이라고 함. (JSON 형식의 텍스트를 자바스크립트 객체로 변환한다.)
JSON.parse

*네트워크를 통해 전달할 수 있게 객체를 문자열로 변환하는 과정은 문자열화(Stringification)이라고 함.
(자바스크립트 객체를 JSON 텍스트로 변환한다.)
JSON.Stringfy

JSON의 구조는?

JSON 은 Javascript 객체 리터럴 문법을 따르는 문자열임.
JSON 안에는 마찬가지로 Javascript의 기본 데이터 타입인 문자열, 숫자, 배열, 불리언 그리고 다른 객체를 포함할 수 있음.

EX)

{
  "squadName": "Super hero squad",
  "homeTown": "Metro City",
  "formed": 2016,
  "secretBase": "Super tower",
  "active": true,
  "members": [
    {
      "name": "Molecule Man",
      "age": 29,
      "secretIdentity": "Dan Jukes",
      "powers": ["Radiation resistance", "Turning tiny", "Radiation blast"]
    },
    {
      "name": "Madame Uppercut",
      "age": 39,
      "secretIdentity": "Jane Wilson",
      "powers": [
        "Million tonne punch",
        "Damage resistance",
        "Superhuman reflexes"
      ]
    },
    {
      "name": "Eternal Flame",
      "age": 1000000,
      "secretIdentity": "Unknown",
      "powers": [
        "Immortality",
        "Heat Immunity",
        "Inferno",
        "Teleportation",
        "Interdimensional travel"
      ]
    }
  ]
}

태그로 표현하기보다는 중괄호 {} 같은 형식으로 하고, 값을 ','로 나열하기에 그 표현들이 간단함.

자바스크립트 객체와 마찬가지로 key/value가 존재할 수 있으며 key값이나 문자열은 항상 쌍따옴표를 이용하여 표기해야 한다.
객체, 배열 등의 표기를 할 수 있다.
일반 자바스크립트의 객체처럼 원하는 만큼 중첩시켜서 사용할 수 있다.

JavaScript 객체 문법과 JSON의 차이점 :

-javaScript 객체 속성의 키는 따옴표 없이 사용할 수 있지만 JSON의 모든 키와 문자열은 반드시 큰 따옴표로 둘러쌓여야한다

-javascript는 따옴표로를 사용하여 문자열을 나타낼 수 있지만 JSON 문자열은 반드시 큰 따옴표로 문자열을 둘러싸야 함.

-json은 주석을 지원하지 않음.

-JSON은 함수, undefined, NaN, infinity-infinity 등의 타입은 사용할 수 없지만 Javascript는 사용 가능.

-JavaScript는 프로그램 로직을 포함하는 코드를 작성할 수 있지만 JSON은 데이터 구조만을 표현하여, 프로그램 로직을 나타낼 수 없다.

JSON은 데이터를 표현하고 교환하기 위한 간단한 형식이며, JavaScript 객체의 부분집함으로 간주된다. JSON은 데이터를 전송하고 저장하는 데 주로 사용되는 반면, JavaScript는 프로그래밍 언어로서의 더 많은 기능을 제공한다

참고자료 :
https://velog.io/@surim014/JSON%EC%9D%B4%EB%9E%80%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

https://ko.wikipedia.org/wiki/JSON

https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/JSON#%ED%95%B4%EB%B3%B4%EB%A9%B4%EC%84%9C_%EB%B0%B0%EC%9A%B0%EA%B8%B0_json%EC%9D%84_%EB%8B%A4%EB%A4%84_%EB%B3%B4%EC%9E%90

0개의 댓글