JavaScript JSON(제이슨)

메타플랫폼대표
|2024. 6. 11. 10:00
반응형

JavaScript Object Notation (JSON)

객체를 표현하는 표기법

전체 언어에서 공통으로 사용할 수 있는 공통 데이터 타입 (모든 언어에서 XML과 JSON 사용이 가능하다)

언어가 틀려도 JSON으로 서로가 통용되서 상호작용이 가능하다.

웹서버를 통해서 상호작용이 가능한데, 카카오톡도 웹서버를 활용해서 api를 관리하고 있으며, 우리가 앞으로 관리해야 할 것이기도 하다.

여러 언어에서 JSON을 거쳐서 통신이 가능하다.

 

{ "name" : "value" , "name" : "value" }

 

<script type="text/javascript">
    /* JSON(JavaScript Object Notation) 
        : 자바스크립트 객체 표현법
        JSON 표기법
        객체 -> { "name":"value" , "name":"value" , ... }
    */
    const p = { "name":"홍길동", "age":"20", "married":false  };
</script>

 

자바의 객체의 구조와 자바스크립트의 JSON 구조를 비교해보면 이해가 쉽다.

class Person {
    String name;
    int age;
    boolean married;
}
Person p = new Person("홍길동",20,false);

 

 

JSON 표기법

    const p = { "name":"홍길동", "age":"20", "married":false  };

    /* JSON Data 표기법 */
    // 1. dot 표기법
    document.write("p's name : " + p.name + "<br>");
    document.write("p's age : " + p.age + "<br>");

    // 2. square bracket []
    let key = "age";
    document.write("p's name : " + p["name"] + "<br>");
    // 내가 읽어올 값이 변수일 때 [] 사용한다.
    document.write("p's age : " + p[key] + "<br>");

    let key2 = "married";
    document.write(`p's ${key2} : ${p[key2]} <br>`);

 

 

JSON안에는 객체가 들어갈 수 있고, 배열이 들어갈 수 있다.

    const p1 = {
            "name":{
                "fullName":"홍길동",
                "familyName":"홍",
                "givenName":"길동"
                },
            "hobby":["운동","낚시","보드게임"],
            "tel": {
                "cellPhone":"010-1234-1234",
                "homePhone":"02-1234-1234"
            }
    };

    document.write("p1's name : " + p1.name.fullName + "<br>");
    document.write("p1's familyName : " + p1.name.familyName + "<br>");
    document.write(`p1's givenName : ${p1.name.givenName} <br>`);

    document.write(`p1's hobby : ${p1.hobby[0]} ${p1.hobby[1]} ${p1.hobby[2]} <br>`);

    for(let i in p1.hobby) {
        document.write(`취미${parseInt(i)+1} : ${p1.hobby[i]} <br>`);
    }

    document.write(`나의 전화번호 cellPhone : ${p1.tel.cellPhone}, homePhone : ${p1.tel.homePhone}`);

 

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

	<script type="text/javascript">
		const p_array = [
			{"name":"일길동", "age":21, "addr":"서울시 관악구 남부순환로1"}, // 0
			{"name":"이길동", "age":22, "addr":"서울시 관악구 남부순환로2"}, // 1
			{"name":"삼길동", "age":23, "addr":"서울시 관악구 남부순환로3"}, // 2
			{"name":"사길동", "age":24, "addr":"서울시 관악구 남부순환로4"}, // 3
			{"name":"오길동", "age":25, "addr":"서울시 관악구 남부순환로5"}  // 4
		];
		
		let html = "<table border='1' width='500'>";
			html += "<tr><th>이름</th><th>나이</th><th>주소</th></tr>"
			
			/* Data 출력 */
			for(let p of p_array) {
				html += `<tr><th>${p.name}</th><th>${p.age}</th><th>${p.addr}</th></tr>`;
			}
			
			html += "</table>";
		document.write(html);
		
	</script>

</head>
<body>
	
</body>
</html>

 

 

반응형

'javaScript↗' 카테고리의 다른 글

jQuery (제이쿼리)  (0) 2024.06.12
JavaScript Class(클래스)  (0) 2024.06.11
JavaScript 정리  (0) 2024.06.10
[ jS] HTML 태그 추가 / 클래스 관리  (1) 2024.04.12
javaScript 이벤트(event)  (0) 2024.04.11