JSON

1 개요[ | ]

JavaScript Object Notation (JSON)
제이슨
  • 인터넷 등에서 자료를 주고받을 때 그 자료를 표현하는 방법 중 하나
  • 속성-값 쌍 또는 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
  • 비동기 브라우저/서버 통신(AJAX), API 사용시 송수신 방법으로 널리 사용된다.
  • 과거 XML을 대체하는 주요 데이터 포맷으로 자리 잡았다.
  • 확장자: .json
  • 인터넷 미디어 타입: application/json

JSON vector logo.svg

2 예시[ | ]

XML을 JSON으로 표현해보자.

XML
<?xml version="1.0" encoding="UTF-8"?>
<quiz>
  <question>대한민국의 초대 대통령은?</question>
  <answer>이승만</answer>
</quiz>
JSON
{"quiz": {
  "question":"\ub300\ud55c\ubbfc\uad6d\uc758 \ucd08\ub300 \ub300\ud1b5\ub839\uc740?",
  "answer":"\uc774\uc2b9\ub9cc"
}}
→ JSON은 줄바꿈이나 들여쓰기 없이 1줄이지만, XML과 비교해볼 수 있도록 구조를 맞춰 놓았다.

3 실습 1: PHP[ | ]

<?php
$arr = array( 'quiz'=> array(
  'question' => '대한민국의 초대 대통령은?',
  'answer' => '이승만'
));
echo json_encode($arr);
[root@zetawiki ~]# php test.php
{"quiz":{"question":"\ub300\ud55c\ubbfc\uad6d\uc758 \ucd08\ub300 \ub300\ud1b5\ub839\uc740?","answer":"\uc774\uc2b9\ub9cc"}}

4 실습 2: Bash + Python[ | ]

[root@zetawiki ~]# curl -s 'https://api.twitter.com/1.1/followers/ids.json'
{"errors":[{"code":215,"message":"Bad Authentication data."}]}
[root@zetawiki ~]# curl -s 'https://api.twitter.com/1.1/followers/ids.json' | python -mjson.tool
{
    "errors": [
        {
            "code": 215,
            "message": "Bad Authentication data."
        }
    ]
}

5 같이 보기[ | ]

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}