자바스크립트(JavaScript) 토대로 개발되었다. 여러 프로그래밍 언어에도 사용할 수 있어 독립형 언어이며 텍스트로 기술하여 사람도 쉽게 읽고 작성할 수 있다. 웹 브라우저와 웹 서버 간 비동기 통신, 웹 서버 간의 데이터 교환 등에 주로 사용된다.
일반적으로 서버에서 클라이언트로 데이터를 보낼 때 사용하는 양식. 클라이언트가 사용하는 언어에 관계 없이 통일된 데이터를 주고받을 수 있도록, 일정한 패턴을 지닌 문자열을 생성해 내보내면 클라이언트는 그를 해석해 데이터를 자기만의 방식으로 온전히 저장, 표시할 수 있게 된다.
웹 브라우저에서 비동기 처리에 사용되는 에이잭스(AJAX)가 데이터 교환 형식으로 JSON을 사용하면서 널리 알려졌다. 과거 웹 초기 시절부터 사용되어 온 XML은 헤더와 태그 등의 여러 요소로 가독성이 떨어지고, 쓸데없이 용량을 잡아먹는다는 단점이 항상 지적되어 왔다. 이에 대응해 간결하고 통일된 양식으로 각광을 받고 있는 것이 JSON이다.
AJAX가 기존 사용하던 XML 기반의 메시지 포맷은 시작 태그와 끝 태그를 포함하여 메시지 크기가 커지는 문제가 있었다. 이를 해결하기 위해 JSON으로 대체하였다. 대부분의 웹 기반 애플리케이션에서 데이터 교환 형식으로 XML 대신 JSON을 활용한다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다.
JSON은 자바스크립트(JavScript)의 구문 형식을 따르지만, C, C++, C#, 자바(Java), 파이선(Python) 등의 프로그램 언어와도 함께 사용되는 플랫폼과 프로그래밍 언어 면에서 독립적인 언어이다. 데이터 구조는 속성(name)과 값(value) 한 쌍으로 구성되며, “속성: 값” 형식으로 데이터 객체를 표현한다.
{ "name": "paul","age": 27, "address": { "Address": "11Ro Seoul Korea"}, "phone": [ { "type": "home", "number": "02-000-0000" }, { "type": "cellphone", "number": "010-0000-0000" }, ], "children": [], "spouse": null } |
‘paul’이라는 사람에 대한 정보(나이, 주소 등)를 JSON 형식으로 표현한 예시이다. ‘name’ 속성에 대한 값은 ‘paul’이며, ‘age' 속성에 대한 값은 ‘27’이다. 전화번호(phone)는 집(home) 전화와 휴대폰(cellphone) 객체 2개를 갖는 배열로 표현한다. |
<출처 : https://docs.microsoft.com/tr-tr/azure/sql-database/sql-database-json-features>
https://clay1987.blog.me/221384948332
https://blog.naver.com/sonhanbi1002/221388667722
'정보관리기술사 도전 > 용어 정의' 카테고리의 다른 글
통합 멀티 무료 SQL Editor DB 관리 프로그램 DBeaver (0) | 2018.11.05 |
---|---|
AJAX[Asynchronous Javascript And XML] (0) | 2018.11.05 |
논리erd vs 물리erd (0) | 2018.11.05 |
리버스엔지니어링 [reverse engineering] (0) | 2018.11.05 |
UML, ERD (0) | 2018.11.02 |