웹 프로그래밍 기초 천인국 지음
위키 백과
참고하여 작성하였습니다.

JSON(Javascript object notation)은 데이터 교환 형식
이 형식은 사람이 읽고 쓰기에 용이하며 기계가 분석하고 생성함에도 용이함

  • 속성-값 또는 키-값으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

  • 비동기 브라우저/서버 통신(ajax)을 위해 넓게는 xml을 대체하는 주요 데이터 포맷

  • 특히 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있음

  • 자바스크립트 언어에서 유래하였음 즉 자바스크립트에서 배열과 객체를 표현하는 양식에 토대를 두고 있음

  • 자바스크립트에서 유래되었지만 근본적으로 언어에 독립적임
    어떤 언어에서도 읽고 쓰는 데 문제가 없음 이러한 특성 때문에 데이터 교환 언어로 인기를 얻고 있음 특히 웹 서버와 웹 애플리케이션 사이에서 XML의 대체 형식으로 많이 사용되고 있음 프로그램 언어와 플랫폼에 독립적이므로 서로 다른 시스템 간에 객체를 교환하기에 이상적임

예제

    {
        "name": "David jason",
        "age": 30,
        "address": {
            "nation": "south korea",
            "city": "pohang",
            "postalcode":"316-119"

         }, 
         "favorite food":["hamburger", "soup"],
         "email address": "youaremysavior316@gmail.com"  
      }

Json의 자료형
-수 (numnber) : 정수, 실수
-문자열(string)
-참/거짓(boolean)
-배열(array) : 대괄호 [] 나타냄, 각 요소는 쉼표(,) 구분함, 순서에는 의미가 있음
-객체(object) : 객체는 이름/ 값의 집합으로 중괄호를 사용
-null

JSON과 XML
경쟁자나 마찬가지 둘 다 일반 텍스트로 되어 있어서 누구나 쉽게 읽을 수 있음
둘 다 계층적으로 데이터를 구성할 수 있ㅇ며 프로그램으로 비교적 쉽게 구문 분석 할 수 있음

JSON 처리
서버로부터 받은 문자열을 자바스크립트에서 eval 명령으로 곧바로 처리할 수 있음
이러한 특성은 자바스크립트를 자주 사용하는 웹 환경에서 유리 하지만 eval 명령을 사용하면 외부에서 악성 코드가 유입될 수 있음 때문에 최신 웹 브라우저가 지원하고 있는 전용 파서를 이용하는 것이 안전함