본문 바로가기
Dev/Ect

데이터 교환 형식 (1) - JSON, XML

by yeonise 2022. 7. 27.

1. JSON(JavaScript Object Notation)

 

이름에서 알 수 있듯이 JavaScript를 토대로 개발되었다. 여러 프로그래밍 언어에도 사용할 수 있는 독립형 언어이다. 용량도 적어서 웹 브라우저와  웹 서버 간 비동기 통신, 웹 서버 간의 데이터 교환 등에 주로 사용된다.

 

기존 XML 기반의 메시지 포맷은 시작 태그와 끝 태그를 포함하여 메시지 크기가 커지는 문제를 갖는다. 그래서 대부분의 웹 기반 애플리케이션에서 데이터 교환 형식으로 XML 대신 JSON을 활용한다. JSON은 텍스트로 기술하여 사람도 쉽게 읽고 작성할 수 있다. JSON은 프로그래밍 문법이 아닌 데이터를 표시하는 표현 방법 중 하나이다.

 

데이터 구조는 속성과 값 한 쌍으로 구성되며, "속성: 값" 형식으로 데이터 객체를 표현한다. 값의 자료형으로 수(number), 문자열(string), 객체(object), 배열(array), 참/거짓(boolean), 또는 빈 값(null)이 지원된다. 배열은 대괄호([ ])로, 객체는 속성 · 값 쌍의 집합으로 중괄호({ })를 사용하여 표현하며, 객체 간의 구분은 쉼표(,)로 한다.

 

{
    "name": "json",
    "age": 24,
    "address": {
    "Address": "Seoul Korea"},
    "phone": [
    { "type": "home",
    "number": "02-000-0000" },
    { "type": "cellphone",
    "number": "010-0000-0000" },
    ],
    "hobby": [
    "puzzle",
    "swimming"
    ]
}

 

 

 

2. XML(eXtensible Markup Language)

 

XML은 인터넷 웹 페이지를 만드는 HTML을 개선하여 만든 언어이다. 다양한 표현이 가능하고 확장성이 뛰어나며 간단하다. 데이터를 보여주는 것이 아닌 데이터를 저장하고 전달할 목적으로 만들어졌다. HTML와 다르게 태그가 정해져 있지 않으며 사용자가 직접 정의할 수 있다. 태그를 사용하여 열고 닫아주기 때문에 들여 쓰기나 줄 바꿈 없이 한 줄로 작성해도 데이터를 교환하는데 문제가 없다.

 

<?xml version = "1.0" encoding = "UTF-8"?>
<information type = "문구류">
<shop>
    <subject>
    	<no>1</no>
        <name>연필</name>
        <price>1000</price>
    </subject>
    <subject>
    	<no>2</no>
        <name>필통</name>
        <price>9000</price>
    </subject>
</shop>

댓글