본문 바로가기

개발공부

JSON

반응형

JSON


JSON이란 


JAVA SCRIPT OBJECT NOTATION

데이터를 저장하고 교환하기 위한 데이터 타입이다 

JAVASCRIPT 객체 표기법으로 작성된 텍스트이다 



JSON을 사용하는 이유  

  - JSON 형식은 텍스트 형식이라 서버와 주고받을 수 있고 모든 프로그래밍 언어에서 데이터 형식으로 사용된다.

  - JAVASCRIPT 에는 JSON형식으로 작성된 문자열을 기본 JAVASCRIPT로 변환하는 내장 함수가 있다 .

    JSON.parse();

  - JSON 형식의 서버에서 데이터를 받으면 다른 JAVASCRIPT객체처럼 사용할 수 있다. 



 예 ) json형태의 데이터를 html에 출력하기

1
2
3
4
var myObj = { "id" : "pp""age" : 20"city""seoul"};
var ex_json = JSON.parse(myObj);
document.getElementById("demo").innerHTML = myObj.id;
 
cs


{ "id" : "pp", "age" : 20, "city": "seoul"}

이런 형태로 전송된 데이터를 json형식 데이터라고 한다.


이 데이터를 ex_json으로 html로 변환해서 

id가 demo인 태그에 변환된 'pp'를 넣어주는 것이다 



그럼 결론적으로 출력되는것은 id값이 출력된다. 


db에서 list 형태로 받아오게 되면

1
2
3
4
5
myObj =[
      {"id""tsyoe1""name""park"},
      {"id""psyoe1""name""yy"},
      {"id""gsyoe1""name""yeon"}
    ];
cs

이런식으로 [ 
{            },
{            },
{            }
]
list 형태로 받아오게 된다. 



Json VS XML ( 출처 w3schools )


XML 예제
  
1
2
3
4
5
6
7
8
9
10
11
12
<employees>
    <employee>
        <firstName>John</firstName> <lastName>Doe</lastName>
    </employee>
    <employee>
        <firstName>Anna</firstName> <lastName>Smith</lastName>
    </employee>
    <employee>
        <firstName>Peter</firstName> <lastName>Jones</lastName>
    </employee>
</employees>
 
cs



   JSON 예제

1
2
3
4
5
{"employees":[
    { "firstName":"John""lastName":"Doe" },
    { "firstName":"Anna""lastName":"Smith" },
    { "firstName":"Peter""lastName":"Jones" }
]}
cs



위의 차이를 보았을때 먼저 XML 은 <> XML의 구문분석기를 사용해야한다. 

하지만 JSON 은 표준 JAVASCRIPT 함수로 파싱이 가능한 점이 가장 큰 차이점이다.



 XML , JSON 공통점 


1. 두가지 방법 모두 사람이 읽을 수 있다.

2. 모두 계층적 구조 ( 값 - 값 ) 의 형태 즉 키값과 벨류값이라고 이해하면 된다.

3. 모두 많은 프로그래밍언어에서 사용하고 있고 파싱가능하다.

4. XML 모두 XMLHTTPREQUEST를 사용하여 가지고 올 수 있다.



JSON이 XML 보다 나은 점


1. 종료태그 없음

2. 태그로 주르륵 나오지 않아 짧고 간결함

3. 읽고 쓰는 것이 빠름

4. 배열 사용 가능 

5. JAVASCRIPT 함수로 파싱이 가능하다



반응형

'개발공부' 카테고리의 다른 글

사용하는 포트  (0) 2018.02.14
REST API  (0) 2018.01.22
INFORMATION_SCHEMA  (0) 2017.12.27
String , StringBuilder, StringBuffer 차이점과 유의사항  (1) 2017.12.14
URI URL URN  (0) 2017.10.07