JSON(JavaScript Object Notation) 이란?
JavaScript Object Notation
이라는 의미의 축약어로 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식JavaScript
에서 객체를 만들 때 사용하는 표현식을 의미한다.JSON
은 데이터 포맷일 뿐이며, 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐이다.
JSON 특징
- 서버와 클라이언트 간의 교류애서 일반적으로 많이 사용된다.
JSON
문서 형식은 자바스크립트 객체의 형식을 기반으로 만들어져 자바스크립트 객체 표기법과 아주 유사하다.- 자바스크립트 문법과 굉장히 유사하지만 텍스트 형식일 뿐이다.
- 특정 언어에 종속되지 않으며,
Flutter
를 포함한 대부분의 프로그래밍 언어에서JSON
포맷의 데이터를 핸들링 할 수 있는 라이브러리를 제공한다.
XML vs JSON
데이터를 나타낼 수 있는 방식은 여러가지가 있지만, 대표적인 것이 XML
이고, 최근에 많이 사용되는 것이 JSON
이다.
구분 | 특징 | 예시 |
---|---|---|
XML | 데이터 값 양쪽으로 태그가 있는 방식으로 표현한다. | |
JSON | 중괄호({})와 같은 형식을 사용하며, 값을 ' , ' 로 나열한다. |
JSON 문법
JSON
형식은 자바스크립트 객체와 마찬가지로key / value
가 존재할 수 있으며key
값이나 문자열은 항상 쌍따옴표를 이용하여 표기해야 한다.- 객체, 배열 등의 표기를 사용할 수 있다.
JSON
형식에서는null
,number
,string
,array
,object
,boolean
을 사용할 수 잇다.
JSON 형식
1) name-value 형식의 쌍
- 여러가지 언어들에서 object등으로 실현되었다.
- {String key: String vaule}
{ "firstName": "Ahn", "lastName": "JuHyeong", "email": "dkswnkk@1234.com" }
2) 값들의 순서화 된 리스트 형식
- 여러가지 언어들에서 배열(Array) 등으로 실현되었다.
- [value1, value2,...]
{
"firstName": "Ahn",
"lastName": "Juhyeong",
"email": "dkswnkk@1234.com",
"hobby": ["health","coding"]
}
JSON의 문제점
AJAX
는 단순히 데이터만이 아니라JavaScript
그 자체도 전달할 수 있다.- 이는
JSON
데이터 라고 해서 받았는데 단순 데이터가 아니라JavaScript
가 될 수 있어, 그게 실행 되는 악성스크립트가 될 수도 있다는 것이다. - 위와 같은 이유로 받은 내용에서 데이터만 순수하게 추출하기 위한
JSON
관련 라이브러리를 따로 사용하기도 한다.
JSON이 가져올 수 있는 데이터
JSON
으로 가져올 수 있는 데이터는 해당 자바스크립트가 로드된 서버의 데이터에 한정된다.- 예를 들어,
http://test.com/test.js
에서 불러올 수 있는 데이터는test.com
서버에 존재 하는 것 만 가능하다.
'ETC > Flutter' 카테고리의 다른 글
[flutter] Tabbar 구현하기 (0) | 2021.10.17 |
---|---|
[flutter] XML 파싱하기 (0) | 2021.10.17 |
[flutter] Json 파싱하기 (0) | 2021.10.17 |
[flutter] Future 와 async를 사용해보자. (0) | 2021.10.17 |
[flutter] Future란 무엇인가? (3) | 2021.10.17 |
[flutter] const와 final의 특징 (0) | 2021.10.17 |
댓글