본문 바로가기
JS

221229 JS JSON함수

객체 함수
자바서버와 js는 데이터를 주고받는 통신이 가능.
이 과정에서 네트워크 연결을 통해 주고받음
->네트워크는 json을 해석하지 못한다. 객체형태로 주고받는것이 불가
->json을 문자열 형태로 바꾸어야 한다.
형변환의 개념으로 생각


var data = [
	{id:1, title:"hi", content: "가"},
	{id:2, title:"bye", content: "나"},
	{id:3, title:"hello", content: "다"}
];




json->문자열
JSON.stringify(data);

문자열->json
단, 이 경우는 엄격한 형식을 지킨다(키와 값이 전부 ""로 묶여야 한다. ''는 불가).
JSON.parse(문자열);

+)js에도 try-catch구문이 있는데 자바랑 똑같다.

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var data = [
            {id:'aaa123',title:'aaa',content:'...'},
            {id:'bbb123',title:'bbb',content:'...'},
            {id:'ccc123',title:'ccc',content:'...'},
            //마지막에 ,가 있어도 상관없음

        ];

        console.log(data);
        console.log('--------------------------------------');
        //JS객체를 JSON문자열로 형변환
        var str= JSON.stringify(data);
        console.log(str);

        //JSON문자열을 JS객체로 형변환
        var obj=JSON.parse(str);
        console.log(obj);

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


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

'JS' 카테고리의 다른 글

221229 JS 인라인 이벤트 모델  (0) 2022.12.29
221229 JS 이벤트핸들러  (0) 2022.12.29
221228 JS 객체  (0) 2022.12.28
221228 JS 클로저은닉  (0) 2022.12.28
221228 JS 클로저  (0) 2022.12.28