객체 함수
자바서버와 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 |