본문 바로가기
Javascript(문법)

Ajax(5)-JSON

by ROVE4 2022. 12. 26.
JSON
JavaScript Object Notation
좀 더 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 텍스트 기반의 데이터 교환 표준

자바스크립트 객체 문법(객체 리터럴)
XML의 대안으로서 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 고안
JSON은 텍스트 기반
구조화된 데이터 표현을 위한  '표준' 형식
데이터 전송 시 사용
웹 어플리케이션에서 데이터를 전송할 떄 일반적으로 사용
JSON은 순수히 데이터 포맷  => 오직, property만 담을 수 있다. (key, value)
메서드는 담을 수 없다.
1.문자열 형태 , 따옴표 표시  ,(쉼표)로 나열한다

2.객체(object)는 중괄호({})로 둘러쌓아 표현

3.배열(array)은 대괄호([])로 둘러쌓아 표현

1.JSON 데이터

JSON 데이터는 이름과 값의 쌍으로 구성
JSON 데이터는 데이터 이름, 콜론(:), 값의 순서로 구성
"데이터이름" : 값


//데이터의 이름도 문자열이므로, 항상 큰따옴표("")와 함께 입력
"name" : "홍길동"
  • 데이터의 값의 가능한 타입
  1. number
  2. string
  3. boolean
  4. object
  5. array
  6. null

2. JSON 객체

중괄호({})로 둘러쌓아 표현  , 브레이스라고도 한다.
쉼표를 사용하여, 여러 프로퍼티를 포함할 수 있다.
 var jsonData={
        "name": "홍길원",
        "age" : 30,
        "gender" : "남",
        "interests" :["음악","댄스"],
        "family":{"father" : "홍투길","mom":"김연삼"},
        "school": null,
        "graduate":true
    };

 

3 .JSON 메소드

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

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

3-1 . JSON.stringify()

인수로 전달받은 자바스크립트객체 ==> 문자열로 변환(JSON객체) 

<JSON 형식의 문자열을 반환>

<!DOCTYPE html>
<html lang="kr">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id="json"></div>

  <script>
    var profile={
        "name": "홍길원",
        "age" : 30,
        "gender" : "남",
        "interests" :["음악","댄스"],
        "family":{"father" : "홍투길","mom":"김연삼"},
        "school": null,
        "graduate":true
    };

    //(``)백틱을 이용하지않으면 js객체
    //JSON.stringify()
    //자바스크립트 객체=>JSON 객체
    
    var profileJson = JSON.stringify(profile)
    
    console.log(typeof profileJson)  //문자열형태
    
    document.getElementById("json").innerHTML=profileJson

  </script>
  
</body>
</html>

3-2. JSON.parse()

 

JSON객체(문자열)==>자바스크립트 객체

 var jsonData=`{
        "name": "홍길원",
        "age" : 30,
        "gender" : "남",
        "interests" :["음악","댄스"],
        "family":{"father" : "홍투길","mom":"김연삼"},
        "school": null,
        "graduate":true
    }`;

   //``(백틱)을 이용하면 JSON 객체
    //JSON 객체 ==> 자바스크립트 객체
    var jsData = JSON.parse(jsonData);
    console.log(jsData.interests[0])

3-3. toJSON()

 

자바스크립트의 Date 객체의 데이터를 JSON형식의 문자열로 변환해서 반환한다.

 'Date.prototype 객체'에서만 사용가능

 


<html lang="kr">
<head>
  <meta charset="UTF-8">
  
  <title>Document</title>
</head>
<body>
  
  <div id="timeJS"></div>
  <div id="timeJSON"></div>
  <script>

    //js Date 객체
    var date= new Date();

    //Mon Dec 26 2022 03:01:26 GMT+0900 (한국 표준시)
    console.log(date)
    
    //Date객체를 JSON 형식의 문자열로 변환
    var str = date.toJSON(); 

    //2022-12-25T18:01:40.929Z
    console.log(str)

    document.getElementById("timeJS").innerHTML=date +"<br>"

    
    document.getElementById("timeJSON").innerHTML=str;

  </script>
</body>
</html>

 

 

 

 

'Javascript(문법)' 카테고리의 다른 글

Ajax(4)-fetch  (0) 2022.12.26
Ajax(3)-XMLHttpRequest  (0) 2022.12.25
Ajax(2)-Ajax  (1) 2022.12.25
Ajax(1)-http  (0) 2022.12.25
배열의 분리&합침  (0) 2022.12.18