JSON(JavaScript Object Notation)은 텍스트기반의 데이터 교환 형식이다. 말그대로 표기법(notation)이다. 사람과 컴퓨터 모두가 이 표기법을 통해 쉽게 데이터를 파악할 수 있다.
자바 스크립트 언어에서 유래해서 배열과 객체를 표현하는 양식에 토대를 두고 있다. 그치만 언어어 독립적이므로 C, C++, C#, JAVA, Perl, Python 등의 어떤 언어에서도 읽고 쓰는데 문제 없다. 특히 XML의 대체형식으로 많이 사용되고 있다. JSON은 XML과 다르게 종료태그가 없기 때문이다. 자바스크립트에서 eval()을 사용해 쉽게 파싱할 수도 있다.
*eval() in JS: 문자열을 코드(명령)으로 인식하는 함수
기본적으로 JSON 데이터는 이름/값 쌍으로 기록된다.
"name" : "hyein" (like dictionary 딕셔너리 key:value)
-이름은 문자열이므로 반드시"" 필요
-값은 기본자료형, 배열, 객체가 올 수 있음
-쌍 순서 의미 X
[
{ "name" : "hyein", "age" : "10" },
{ "name" : "miya", "age" : "20" },
{ "name" : "jia", "age" : "30" }
]
-배열 안에 객체가 포함될 수 있고, 객체 안에 배열이 포함될 수도 있음을 명심
JSON의 용도 중 하나는 웹 서버에서 JSON 데이터를 가져오는 것이다.
애플리케이션은 JSON데이터를 자바 객체로 변환해 웹 페이지에 표시할 때 자바 객체를 사용한다.
처리방법에는 두 가지가 있다.
1. 서버에서 받은 파일을 자바스크립트에서 eval 명령을 사용해 곧 바로 처리할 수 있다.(악성코드 유입 가능성 있음)
JSON 텍스트 포맷은 JS 객체 생성 코드와 구문적으로 동일해 자바 프로그램에 내장된 eval() 함수를 사용할 수 있다.