"JSON"의 두 판 사이의 차이

잔글 (로봇: 자동으로 텍스트 교체 (-<source lang='dos'> +<source lang='cli'>))
잔글 (로봇: 자동으로 텍스트 교체 (-[root@jmnote +[root@zetawiki))
35번째 줄: 35번째 줄:
</source>
</source>
<source lang='cli'>
<source lang='cli'>
[root@jmnote ~]# php test.php
[root@zetawiki ~]# php test.php
{"quiz":{"question":"\ub300\ud55c\ubbfc\uad6d\uc758 \ucd08\ub300 \ub300\ud1b5\ub839\uc740?","answer":"\uc774\uc2b9\ub9cc"}}
{"quiz":{"question":"\ub300\ud55c\ubbfc\uad6d\uc758 \ucd08\ub300 \ub300\ud1b5\ub839\uc740?","answer":"\uc774\uc2b9\ub9cc"}}
</source>
</source>
42번째 줄: 42번째 줄:
{{참고|리눅스 Pretty JSON 출력}}
{{참고|리눅스 Pretty JSON 출력}}
<source lang='cli'>
<source lang='cli'>
[root@jmnote ~]# curl -s 'https://twitter.com/users/username.json'
[root@zetawiki ~]# curl -s 'https://twitter.com/users/username.json'
{"errors":[{"message":"Sorry, that page does not exist","code":34}]}
{"errors":[{"message":"Sorry, that page does not exist","code":34}]}
</source>
</source>
<source lang='cli'>
<source lang='cli'>
[root@jmnote ~]# curl -s 'https://twitter.com/users/username.json' | python -mjson.tool
[root@zetawiki ~]# curl -s 'https://twitter.com/users/username.json' | python -mjson.tool
{
{
     "errors": [
     "errors": [

2015년 2월 12일 (목) 00:48 판

1 개요

JavaScript Object Notation; JSON
제이슨
  • 인터넷 등에서 자료를 주고받을 때 그 자료를 표현하는 방법 중 하나
  • API 사용시 송수신 방법으로 널리 사용됨

 

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://twitter.com/users/username.json'
{"errors":[{"message":"Sorry, that page does not exist","code":34}]}
[root@zetawiki ~]# curl -s 'https://twitter.com/users/username.json' | python -mjson.tool
{
    "errors": [
        {
            "code": 34, 
            "message": "Sorry, that page does not exist"
        }
    ]
}

5 같이 보기

6 참고 자료