휴먼코딩 2024. 6. 28. 22:03

JSON은 자바스크립트에서 객체를 만들 때 사용되는 표현식이다.

자바스크립트 객체의 형식을 기반으로 만들어졌지만 텍스트 형식일 뿐으로

JSON은 데이터 포맷일 뿐으로 단순히 데이터를 표시하는 표현 방법이다.

 

가독성 사람과 기계 둘 다 이해하기 쉽도록 텍스트 기반의 형식을 사용한다.
경량성 JSON은 데이터 전송만 하기 때문에 용량이 적다.
독립성 다양한 프로그래밍 언어에 사용할 수 있으며 특정 언어에 종속되지 않는다.
구조화 데이터를 계층적인 구조로 표현할 수 있어 복잡한 데이터도 표현 가능하다.
대응성 배열과 객체를 포함하여 다양한 데이터 타입을 지원한다.

 

데이터 용량이 적다는게 장점으로, 클라이언트의 정보를 백으로 보내는 데이터 전송에 많이 사용된다.

 

XML vs JSON

XML JSON
HTML을 근본으로 둔 데이터 표현 방식이다. 자바스크립트 객체의 형식을 기반으로 두었다.
태그를 사용해야 되기 때문에 JSON 형식보다 복잡하다 {"사과" : 3000}, {"배" : 2000} 같은 형식으로 나열되기 때문에 표현이 간단하다.

 

JSON 문법과 형식

  • JSON 형식은 자바스크립드 객체가 기반이기 때문에 key / value가 존재한다. 
  • JSON 객체에서 Key는 문자열로 표현되며 항상 쌍따옴표를 이용하여 표기해야 한다.
  • 객체, 배열 등의 표기를 사용할 수 있으며 일반 자바스크립트의 객체처럼 원하는 만큼 중첩시켜서 사용할 수 있다.
  • JSON 형식에서는 null, number, string, array, object, boolean을 사용할 수 있다.

JSON에는 두 가지 요소로 구성되어 있다.

객체

 

JSON 객체는 중괄호로 둘러싸인 이름 값 쌍의 집합이다. 각 이름-값 쌍은 쉼표로 구분되며

이름은 문자열 고정이되 값은 JSON 형식의 어떤 데이터 타입도 가능하다.

 

{
  "key1": "value1",
  "key2": 123,
  "key3": true,
  "key4": ["item1", "item2"],
  "key5": {
    "nestedKey1": "nestedValue1",
    "nestedKey2": 456
  }
}

 

 

key는 객체의 key이며 value1, 123, true .... 는 key에 할당된 값이다.

객체는 중첩 사용도 가능해 key5처럼 객체 안에 객체가 들어갈 수 있다.

배열

JSON 배열은 대괄호 []로 둘러싸인 값들의 목록이다.

각 값은 쉼표로 구분되며 값은 JSON 형식의 어떤 데이터 타입도 사용 가능하다.

 

[
  "item1",
  "item2",
  {"nestedKey": "nestedValue"},
  ["subitem1", "subitem2"]
]

 

item1, item2는 배열의 항목이며

nestedKey와nestedValue... 는 배열의 항목 중 일부가 객체{} 나 다른 배열[]로 중첩될 수 있다.