[flutter] Json이란 무엇인가?

[flutter] Json이란 무엇인가?

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": "[email protected]" }

2) 값들의 순서화 된 리스트 형식

여러가지 언어들에서 배열(Array) 등으로 실현되었다.

[value1, value2,...]

{ "firstName": "Ahn", "lastName": "Juhyeong", "email": "[email protected]", "hobby": ["health","coding"] }

JSON의 문제점

AJAX 는 단순히 데이터만이 아니라 JavaScript 그 자체도 전달할 수 있다.

는 단순히 데이터만이 아니라 그 자체도 전달할 수 있다. 이는 JSON 데이터 라고 해서 받았는데 단순 데이터가 아니라 JavaScript 가 될 수 있어, 그게 실행 되는 악성스크립트가 될 수도 있다는 것이다.

데이터 라고 해서 받았는데 단순 데이터가 아니라 가 될 수 있어, 그게 실행 되는 악성스크립트가 될 수도 있다는 것이다. 위와 같은 이유로 받은 내용에서 데이터만 순수하게 추출하기 위한 JSON 관련 라이브러리를 따로 사용하기도 한다.

JSON이 가져올 수 있는 데이터

JSON 으로 가져올 수 있는 데이터는 해당 자바스크립트가 로드된 서버의 데이터에 한정된다.

으로 가져올 수 있는 데이터는 해당 자바스크립트가 로드된 서버의 데이터에 한정된다. 예를 들어, http://test.com/test.js 에서 불러올 수 있는 데이터는 test.com 서버에 존재 하는 것 만 가능하다.

from http://dkswnkk.tistory.com/26 by ccl(A) rewrite - 2021-10-17 01:01:36