우선 해당 내용을 공부하기 이전에 메이븐에 Jackson 라이브러리를 추가해주어야 한다.


[ 20180202 스프링을 개발하면서 알게 된 내용 2 ]


위의 글에서 Jackson-databind 를 추가하자.


Jackson-databind jar 은 링크에 있는 jackson-core 및 jackson-annotaions 라이브러리에 의존하기 때문에 직접적으로 빌드에 추가하는 경우 세 가지를 모두 추가하면 런타임 에러가 발생한다.


Jackson JSON Parser API은 JSON을 POJO Object로 변환하는 쉬운 방법을 제공하고 있으며 JSON 데이터에서 Map 으로도 쉽게 변환이 가능하다.


아래와 같은 JSON 데이터가 있다.

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
    "response": {
        "header": {
            "resultCode": "0000",
            "resultMsg": "OK"
        },
        "body": {
            "items": {
                "item": [
                    {
                        "addr1": "서울특별시 광진구 광장동",
                        "addr2": "일대",
                        "areacode": 1,
                        "cat1": "A01",
                        "cat2": "A0101",
                        "cat3": "A01010400",
                        "contentid": 129552,
                        "contenttypeid": 12,
                        "createdtime": 20070514000000,
                        "firstimage": "http://tong.visitkorea.or.kr/cms/resource/69/737569_image2_1.jpg",
                        "firstimage2": "http://tong.visitkorea.or.kr/cms/resource/69/737569_image3_1.jpg",
                        "mapx": 127.1086199069,
                        "mapy": 37.5796161795,
                        "modifiedtime": 20180103143654,
                        "readcount": 79171,
                        "sigungucode": 6,
                        "title": "아차산",
                        "zipcode": "04965"
                    },
                    {
                        "addr1": "서울특별시 광진구 능동로 238",
                        "addr2": "(능동)",
                        "areacode": 1,
                        "cat1": "A02",
                        "cat2": "A0206",
                        "cat3": "A02060300",
                        "contentid": 130938,
                        "contenttypeid": 14,
                        "createdtime": 20070802000000,
                        "firstimage": "http://tong.visitkorea.or.kr/cms/resource/02/720502_image2_1.jpg",
                        "firstimage2": "http://tong.visitkorea.or.kr/cms/resource/02/720502_image3_1.jpg",
                        "mapx": "127.0771624650",
                        "mapy": 37.5513105664,
                        "mlevel": 6,
                        "modifiedtime": 20170608172029,
                        "readcount": 71135,
                        "sigungucode": 6,
                        "title": "광나루안전체험관",
                        "zipcode": "04991"
                    }
                ]
            },
            "numOfRows": 10,
            "pageNo": 1,
            "totalCount": 78
        }
    }
}
cs


Posted by doubler
,