본문 바로가기
IT 자료

java String json to list map 변경 방법

by 성곤 2017. 10. 27.
반응형


java String json to list map 변경 방법



string으로 된 json 형식의 데이터가 있는데


ex) [{"test":"123", "aaa":"333"}, {"test":"456", "aaa":"444"}]


이건 그냥 string 이라서 json으로 바로 쓸 수가 없어서 형변환이 필요하다.


그래도 다행스럽게도 방법은 찾았다.



만약, map을 json으로 찾는 방법을 위해 찾아왔다면 여기를 클릭해서 참조하자

참조 : http://toyuq.tistory.com/203 (java map to json 변환)





먼저 gson 라이브러리가 필요하다

porm.xml에 추가한다.


<!-- map to json 객체변환-->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.4</version>
    </dependency>



출처: http://toyuq.tistory.com/search/gson [Goni]


porm.xml에 추가한다.


<!-- map to json 객체변환-->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.4</version>
    </dependency>



출처: http://toyuq.tistory.com/search/gson [Goni]

porm.xml에 추가한다.


<!-- map to json 객체변환-->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.4</version>
    </dependency>



gson을 라이브러리에 추가한 뒤, 다음과 같이 하면 된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
String jsonText = "이 변수는 jsonArray 형식이어야합니다."//ex) [{"test":"123", "aaa":"333"}, {"test":"456", "aaa":"444"}]
 
 
Gson gson = new Gson();
Type type = new TypeToken<ArrayList<Map<StringString>>>() {}.getType();
ArrayList<Map<StringString>> data = gson.fromJson(jsonText, type);
 
 
//json형식의 string은 ArrayList<Map<String, String>>형식으로 data변수에 담겼습니다.
 
 
// convert back to JSON string from object
 
// 만들어진 전체 내용 확인하기
 
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(data));
 
 
// 만들어진 일부분 확인
 
System.out.println("test ------------ " + data.get(0),get("key") );
cs





참조 : https://github.com/google/gson (gson)

참조 : https://stackoverflow.com/questions/24939724/convert-json-string-to-list-or-map





반응형