CS/JAVASCRIPT
JSON
휴먼코딩
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... 는 배열의 항목 중 일부가 객체{} 나 다른 배열[]로 중첩될 수 있다.