hyeonga_code

JSON_04_JSON 표기법 본문

JSON

JSON_04_JSON 표기법

hyeonga 2023. 10. 27. 09:59
반응형


- 서로 다른 프로그래밍 언어 간에 데이터를 교환하기 위한 표기법으로 읽고 쓰기 쉬운 표기법입니다.
- 형태
    - 이름/값 의 쌍으로 이루어진 형태
        { 이름1 : 값1, 이름2 : 값2, 이름3 : 값3, ... }
        - '객체.이름' 이나 '객체[이름]' 형식으로 접근합니다.
    - 배열
         [ 값0, 값1, 값2, ... ]
         - '객체[인덱스]' 형식으로 접근합니다.

    - 'https://www.json.org' 페이지에서 참조할 수 있습니다.

- JSON 표기법을 사용한 클래스 정의
    - 이름/값에서 이름에 함수의 이름이, 값에 함수의 정의가 위치합니다.
    - 함수를 개별적으로 정의하지 않고 하나의 데이터로 표시할 수 있으므로 많이 사용합니다.
    '클래스 이름' = function('매개 변수') { 
         ....
    }

    '클래스 이름'.prototype = {
         '함수 이름 1' : function('매개변수 1') {
             .....
         }
         '함수 이름 2' : function('매개 변수 2') {
              ....
         }
    }

- ' JSON_Object 를 사용한 개별 객체에 프로퍼티 확장하기'에서 작성한 Member 클래스를 JSON 표기법으로 작성합니다.
- prototype > 'member_json.js' javascript 파일 생성하기
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 * 
 */
 
Mmeber = function(name, id, securityNo){
    this.name = name;
    this.id = id;
    this.securityNo = securityNo;
}
 
Member.prototype = {
    setValue : function(newName, newId, newSecurityNo){
        this.name = newName;
        this.id = newId;
        this.securityNo = newSecurityNo;
    },
    
    getAge : function(){
        var birthYear = parseInt(this.securityNo.substring(02));
        var code = this.securityNo.substring(67);
        if (code == '1' || code == '2') {
            birthYear += 1900;
        } else if (code == '3' || code == '4') {
            birthYear += 2000;
        }
        var today = new Date();
        return today.getFullYear() - birthYear;        
    },
    
    toString : function(){
        return this.name + "[" + this.id + "]";
    }
}


- prototype > 'useMember.html' 에서 script src를 member_json.js로 변경하여 'useMember_json.html' 생성하기
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>useMember_json.html</title>
 
<script type="text/javascript" src="log.js"></script>
<script type="text/javascript" src="member_json.js"></script>
<script type="text/javascript">
    
    window.onload = function() {
        var mem = new Member("nameValue 01""idValue 01""7000001000000");
        
        log("Before change--");
        log("Name : " + mem.toString());
        log("Age : " + mem.getAge() + "<br>");
        
        mem.setValue("nameValue 02""idValue 02""8000001000000");
    
        log("After change--");
        log("Name : " + mem.toString());
        log("Age : " + mem.getAge());
    }
 
</script>
</head>
<body>
    <div id="debugConsole">
        <!-- 출력 위치입니다. -->
    </div>
</body>
</html>


- useMember_json.html 파일 실행하기
































































































































































반응형