Programming Storytelling

JSON (JavaScript Object Notation)이란? 본문

Javascript

JSON (JavaScript Object Notation)이란?

HJdone 2019. 6. 5. 13:42

JSON이란 javascript개체 구문을 기반으로 구조화 된 데이터를 나타내는 표준 텍스트 기반 형식입니다.

JSON은 javascript객체 리터럴 구문과 매우 유사하지만 javascript와 독립적으로 사용할 수 있으며 많은 프로그래밍 환경에서 JSON을 읽고 생성 할 수 있다.

 

JSON은 문자열로 존재하며 네트워크를 통해 데이터를 전송하고자 할 때 유용하다.

 

JSON을 활용한 대표적인 코드를 살펴보며 JSON형식을 사용한 배열을 익혀보도록 하자.

 

{
    "name": "HYUN JI",
    "age": 22,
    "secretIdentity": "DONE77",
    "powers": [
      "ONE",
      "TWO",
      "THREE"
    ]
  }

 

JSON를 활용한 코드는 이런식으로 속성:값의 형태를 많이 띄우며 

이러한 JSON을 잘 활용하기 위해서는 몇가지 주의 사항이 필요한데 

그것은 다음과 같다.

 


1.JSON은 순수한 데이터 형식이다. 속성만 포함하고 메서드는 없다.

2.JSON에서는 큰따옴표 사용이 필수다. 만약 작은 따옴표를 사용한다면 유효하지 않을 것이다.

3. 잘못된 쉼표나 콜론이 있다면 JSON파일은 오류를 반환하며 그렇기 때문에 JSON파일을 다룰 때는 

신중하게 확인을 하여야한다.

4.JSON은 실제로 배열이나 객체뿐만 아니라 모든 데이터유형의 형태를 취할 수 있다. 

5.객체 속성이 인용되지 않는건 JSON에서 허용되지 않는 일이다. JSON에서는 인용 된 문자열만 속성으로 사용한다.


 

##AJAX와 JSON 무슨 연관성이 있을까?

 AJAX와는 개념이 다르지만 아마 AJAX가 없다면 JSON이라는 개념은 필요 없을 것이다.왜냐하면

AJAX를 사용해 데이터를 주고 받을 때 그 데이터 포맷으로 JSON을 사용하는 것이기 때문이다.

 

##JSON의 단점?

  AJAX 는 단순히 데이터만이 아니라 javascript 그 자체도 전달할 수 있다.즉, json데이터라고 해서 받았는데 그게 단 순 데이터가 아니라 자바스크립트가 될 수도 있고, 그게 실행 될 수 있다는 것이다. 데이터인 줄 알고 받았는데 악성 스크립트 일 수도 있다는 뜻이다.
    JSON 관련 라이브러리를 따로 사용하는 이유가 이것이다. 받은 내용에서 순수하게 데이터만 추출하기 위한 라이브러리의 사용은 꼭 필요하다.

 

JSON 데이터 타입

타입설명

Number JavaScript에서 배정되는 정밀한 부동 소수점 형식
String 큰 따옴표를 사용한 유니코드
Boolean true 또는 false
Array 연속된 값들의 정렬
Value string, number, true 또는 false, null 등
Object 정렬되지 않은 key:value 콜렉션
Whitespace 토큰쌍 사이에서 사용 가능
null 비었음