Programming/JAVA / / 2019. 12. 17. 10:43

java json 한줄씩 작성하기(gson streaming example)

반응형

 

안녕하세요 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사용하는 것과 사용하지 않고 하는 방법에 대해 알려드렸습니다.

 

감사합니다.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유