1) What is JSON?
- JavaScript Object Notation 을 뜻하며, 데이터를 저장하거나 전송할 때 자주 사용되는 경량의 데이터 교환 형식
- JavaScript에서 객체를 만들때 사용하는 표현식을 의미한다.
- JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용되는 추세이다.
- JSON은 데이터 포맷일 뿐이며, 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다.
2) JSON 특징
- 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다.
- JavaScript 객체 표기법과 아주 유사하다.
- JavaScript를 이용하여 JSON 형식의 데이터를 쉽게 JavaScript 객체로 변환할 수 있는 이점이 있다.
- JSON 문서 형식은 JavaScript 객체의 형식을 기반으로 만들어졌다.
- JavaScript의 문법과 굉장히 유사하지만 텍스트 형식일 뿐이다.
- 다른 프로그래밍 언어를 이용해서도 쉽게 생성할 수 있다.
- 특정 언어에 종속되지 않으며, 대부분의 프로그래밍 언어에서 JSON 형식의 데이터를 핸들링 할 수 있는 라이브러리를 제공해준다.
3) JSON 문법
{
"employees": [
{
"name": "Alex",
"lastName": "Won"
},
{
"name": "Ji-sung",
"lastName": "Park"
}
]
}
- JSON 형식은 JavaScript 객체와 마찬가지로 key와 value가 존재하며, key값이나 문자열은 항상 쌍따옴푤를 이용하여 표기해야한다.
- 객체({ }), 배열([ ]) 등의 표기를 사용할 수 있다.
- 일반 JavaScript의 객체처럼 원하는 만큼 중첩시켜서 사용할 수도 있다.
- JSON 형식에서는 null, number, string, array, object, boolean을 사용할 수 있다.
4) JSON 파싱
var jsonText = '{"name": "Alex", "lastName": "Won"}';
var myObject = JSON.parse(jsonText);
var jsonText2 = JSON.stringify(myObject);
- JSON.parse("JSON 형식"): JSON 형식을 코드 상에서 사용할 수 있게 객체로 변환한다.
- JSON.stringify("객체"): 객체를 JSON 형식으로 변환한다.
References
[1] https://nesoy.github.io/articles/2017-02/JSON
[2] https://calyfactory.github.io/%EC%A0%9C%EC%9D%B4%EC%8A%A8%ED%8C%8C%EC%8B%B1/