JS | JSON(객체표기법)

2022. 12. 29. 10:44·JavaScript

다른 서버와 데이터를 주고받는 일을 할 수 있다. 네트워크는 json을 모른다.

데이터는 주고 받을 때 자바스크립트 객체 형태로 주고 받을 수 없고 문자열 형태로 주고 받을 수 있다.

( json형식을 띄고 있는 ) 문자열의 형태로 형변환해서 데이터를 보내주어야한다.

문자열 타입이 넘어오는(받아오는) 데이터는 객체 타입으로 다시 형변환해서 받아야한다.

 

데이터 타입을 문자열로 형변환 하는 함수

JSON.stringify(data);

 

문자열을 제이슨으로 형변환 하는 함수

단, 이 경우는 엄격한 형식을 지킨다. (키,값이 전부 " "로 묶여야한다.)

JSON.parse(문자열);

 

 var data = [
            {id:'aaa123', title:'aaa',content:'a...'},
            {id:'aaa123', title:'bbb',content:'b...'},
            {id:'aaa123', title:'ccc',content:'c...'},//마지막에 ,콤마가 들어가도 허용됨
        ];

        // console.log(typeof(data));
        // console.log(data);

        //JS객체를 JSON문자열로 형변환
        var str = JSON.stringify(data);
        console.log(str);
        //[{"id":"aaa123","title":"aaa","content":"a..."},{"id":"aaa123","title":"bbb","content":"b..."},{"id":"aaa123","title":"ccc","content":"c..."}]

        //JSON문자열을 JS객체로 형변환
        var obj = JSON.parse(str);
        console.log(obj);
        /*0:{id: 'aaa123', title: 'aaa', content: 'a...'}
          1:{id: 'aaa123', title: 'bbb', content: 'b...'}
          2:{id: 'aaa123', title: 'ccc', content: 'c...'}
          length:3
          [[Prototype]]:Array(0)*/

        //단, 문자열을 객체로 변경할 떄는 엄격한 규칙이 있습니다.
        //key, value가 ""쌍따옴표로 처리여야 합니다.
        //JSON.parse("{id:'aaa123'}"); //err
        var result = JSON.parse('{"id":"aaa123"}');
        console.log(result);

 

'JavaScript' 카테고리의 다른 글

JS | this  (0) 2022.12.29
JS | 이벤트 핸들러  (0) 2022.12.29
JS | 객체  (0) 2022.12.28
JS | 클로저  (0) 2022.12.28
JS | 전역변수(global)와 지역변수(local)  (0) 2022.12.28
'JavaScript' 카테고리의 다른 글
  • JS | this
  • JS | 이벤트 핸들러
  • JS | 객체
  • JS | 클로저
개발 공부
개발 공부
  • 개발 공부
    개발 공부
    개발 공부
  • 전체
    오늘
    어제
    • 전체보기 (163)
      • 프로젝트 (1)
      • JavaScript (46)
      • Node.js (3)
      • Next.js (5)
      • React (17)
      • NoSQL (0)
      • HTML,CSS (3)
      • CS (6)
      • Java (35)
      • Spring (6)
        • Spring의 정석 (1)
      • Spring boot (1)
      • MySQL (1)
      • 리눅스 (16)
      • JSP (9)
      • AWS (0)
      • git (2)
      • 알고리즘 (1)
      • ect (7)
      • Project (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Java
    Java의 정석
    자바의 정석
    티스토리챌린지
    오블완
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발 공부
JS | JSON(객체표기법)
상단으로

티스토리툴바