반응형
안녕하세요 gson 사용하여 streaming example 사용하는 방법에 대해 알려드리겠습니다.
vo: 데이터를 저장(setter), 출력(getter) 할 때 만들어 사용.
실습
json streaming
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
|
package json;
import java.io.FileWriter;
import com.google.gson.Gson;
import com.google.gson.stream.JsonWriter;
public class Test {
public static void main(String[] args) {
try {
Gson gs = new Gson(); // gson 객체 생성
JsonWriter gsonwriter; // json writer 객체 생성
MemberVo mv = new MemberVo("kim",15,true);
MemberVo mv1 = new MemberVo("han",18,true);
MemberVo mv2 = new MemberVo("ho",20,true);
gsonwriter = new JsonWriter(new FileWriter("C:\\Users\\USER\\Desktop\\java-workspaces\\JavaTest\\result.json"));
gsonwriter.beginObject(); // {
gsonwriter.setIndent(" "); // 자동개행시 필요
gsonwriter.name("employees"); // "employees" :
gsonwriter.beginArray(); // [
gs.toJson(mv, MemberVo.class, gsonwriter);
// gsonwriter.name("name").value("kim"); // "name" : "kim"
// gsonwriter.name("age").value(15); // "age" : 15
// gsonwriter.name("isNew").value(true); // "isNew" : true
gs.toJson(mv1, MemberVo.class, gsonwriter);
// gsonwriter.name("name").value("kim"); // "name" : "han"
// gsonwriter.name("age").value(15); // "age" : 18
// gsonwriter.name("isNew").value(true); // "isNew" : true
gs.toJson(mv2, MemberVo.class, gsonwriter);
// gsonwriter.name("name").value("kim"); // "name" : "kim"
// gsonwriter.name("age").value(15); // "age" : 20
// gsonwriter.name("isNew").value(true); // "isNew" : true
gsonwriter.endArray(); // ]
gsonwriter.endObject(); // }
gsonwriter.close();
} catch(Exception e) {
e.printStackTrace();
}
}
}
|
cs |
VO
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
|
package json;
public class MemberVo {
private String name;
private int age;
private boolean isNew;
public MemberVo(String name, int age, boolean isNew){
this.name = name;
this.age = age;
this.isNew = isNew;
}
public MemberVo() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean getisNew() {
return isNew;
}
public void setisNew(boolean isNew) {
this.isNew = isNew;
}
}
|
cs |
결과
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
{
"employees": [
{
"name": "kim",
"age": 15,
"isNew": true
},
{
"name": "han",
"age": 18,
"isNew": true
},
{
"name": "ho",
"age": 20,
"isNew": true
}
]
}
|
cs |
위와 같이 결과값이 잘 출력됩니다.
vo사용하는 것과 사용하지 않고 하는 방법에 대해 알려드렸습니다.
감사합니다.
반응형