Language/JSON JSON 사용법
  • 728x90
    반응형

    JSON 사용




    자바스크립트와 JSON



    JSON은 자바스크립트의 객체 표기법을 제한하여 만든 텍스트 기반의 데이터 교환 표준이다.

    따라서 JSON 데이터는 자바스크립트가 자주 사용되는 웹 환경에서 사용하는 것이 유리하다.


    자바스크립트에서 JSON 데이터를 분석하고 사용하는 것은 매우 간단하다.

    자바스크립트는 JSON 데이터를 처리하기 위한 다음과 같은 메소드를 제공하고 있다.


    1. JSON.stringify( )
    2. JSON.parse( )
    3. toJSON( )


    JSON.stringify( ) 메소드



    JSON.stringify( ) 메소드는 인수로 전달받은 자바스크립트 객체를 문자열로 변환하여 반환한다.


    문법

    JSON.stringify(value)


    value에는 변환할 자바스크립트 객체를 전달한다.

    이 메소드는 UTF-16으로 인코딩된 JSON 형식의 문자열을 반환한다.


    JSON.stringify( ) 메소드를 지원하는 주요 웹 브라우저의 버전은 다음과 같다.



    메소드

     

     

     

     

    JSON.stringify( )

    8.0

    지원함

    3.5

    4.0

    10.0


    예제

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <html>
    <head>
        <title>stringify</title>      
    </head>
     
    <body>
        <p id="json"></p>
     
        <script>
            var dog = {name"식빵", family: "웰시코기", age: 1, weight: 2.14};    // 자바스크립트 객체
            
            var data = JSON.stringify(dog);    // 자바스크립트 객체를 문자열로 변환함.
            document.getElementById("json").innerHTML = data;
       </script>
    </body>
     
    </html>
    cs


    실행 결과



    JSON.parse( ) 메소드



    JSON.parse( ) 메소드는 JSON.stringify( ) 메소드와는 반대로 인수로 전달받은 문자열을 자바스크립트 객체로 변환하여 반환한다.


    문법

    JSON.parse(text)


    text에는 변환할 문자열을 전달한다.

    이때 해당 문자열은 반드시 유효한 JSON 형식의 문자열이어야 한다.

    만약 JSON 형식에 맞지 않는 문자열을 전달하면, 자바스크립트는 오류를 발생시킬 것이다.


    JSON.parse( ) 메소드를 지원하는 주요 웹 브라우저의 버전은 다음과 같다.


    메소드

     

     

     

     

    JSON.parse( )

    8.0

    지원함

    3.5

    4.0

    10.0


    예제

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <html>
    <head>
        <title>parse</title>      
    </head>
     
    <body>
        <p id="json"></p>
     
        <script>
            // JSON 형식의 문자열
            var data = '{"name": "식빵", "family": "웰시코기", "age": 1, "weight": 2.14}';
            
            var dog = JSON.parse(data);    // JSON 형식의 문자열을 자바스크립트 객체로 변환함.
            document.getElementById("json").innerHTML = dog + "<br>";
            document.getElementById("json").innerHTML += dog.name + ", " + dog.family;
       </script>
    </body>
     
    </html>
    cs


    실행 결과


    Tip : JSON.parse( ) 메소드는 오직 JSON 형식의 문자열만을 변환할 수 있다.



    toJSON( ) 메소드



    자바스크립트의 toJSON( ) 메소드는 자바스크립트의 Date 객체의 데이터를 JSON 형식의 문자열로 변환하여 반환한다.

    따라서 이 메소드는 Date.prototype 객체에서만 사용할 수 있다.


    toJSON( ) 메소드는 접미사 Z로 식별되는 UTC 표준 시간대의 날짜를 ISO 8601 형식의 문자열로 반환한다.

    따라서 이 문자열은 언제나 24개나 27개의 문자로 이루어지며, 다음과 같은 형식을 따른다.


    문법

    YYYY-MM-DDTHH:mm:ss.sssZ

    또는

    ±YYYYYY-MM-DDTHH:mm:ss.sssZ


    예제

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <html>
    <head>
        <title>toJSON</title>      
    </head>
     
    <body>
        <p id="json"></p>
     
        <script>
            var date = new Date();      // 자바스크립트 Date 객체
            var str = date.toJSON();    // Date 객체를 JSON 형식의 문자열로 변환함.
     
            document.getElementById("json").innerHTML = date + "<br>";
            document.getElementById("json").innerHTML += str;
       </script>
    </body>
     
    </html>
    cs


    실행 결과



    PHP와 JSON



    PHP는 서버 측에서 실행되는 스크립트 언어이다.

    PHP는 개발자가 동적으로 웹 페이지를 쉽고 빠르게 만들 수 있도록 도와준다.

    이때 서버로부터 읽어 들이는 데이터로 JSON 데이터가 많이 사용된다.


    따라서 PHP를 사용하여 JSON 데이터를 다뤄야 할 필요성이 생긴다.

    PHP는 이러한 JSON 데이터를 다루기 위해 다음과 같은 메소드를 제공하고 있다.


    1. json_encode( )
    2. json_decode( )


    json_encode( ) 함수



    PHP의 json_encode( ) 함수는 전달받은 값을 JSON 형식의 문자열로 변환하여 반환한다.


    문법

    string json_encode(mixed $value)


    $value에는 변환할 값을 전달하며, 이 값의 타입은 resource 타입을 제외한 PHP의 모든 타입이 올 수 있다.

    이 함수는 UTF-8로 인코딩된 값을 인수로 전달해야만 정상적으로 동작한다.


    다음 예제는 json_encode( ) 함수를 이용하여 PHP 배열을 문자열로 변환하는 예제이다.


    예제

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <html>
    <head>
        <meta charset="UTF-8">
        <title>JSON Use</title>      
    </head>
     
    <body>
     
    <?php
        $value = array('apple'=>'Fruits', '1'=>1, '참'=>true);    // PHP 배열
        echo json_encode($value);
    ?>
     
    </body>
     
    </html>
    cs


    문법

    {"name":"식빵","family":"웰시코기","age":1,"weight":2.14}


    Tip : json_encode( ) 함수는 PHP 5.2.0부터 제공된다.



    728x90
    반응형

    'Language > JSON' 카테고리의 다른 글

    [JSON] 스키마  (0) 2018.11.15
    JSON 타입  (1) 2018.11.15
    [JSON] 기초  (0) 2018.11.15
상단으로