该空间是个人实践过程中的总结,欢迎交流吐槽!

【脚本写作】Java:Object及List集合与Json格式互转 -- 使用Gson

上一篇 / 下一篇  2017-03-04 16:07:00 / 个人分类:Java

下述两个Class在同一个package中。。。。。。。。。。。。



public class UserInstance {

    private Long id;
    private String accessKey;
    private String accessKeySecret;
    private Integer state;

    public UserInstance() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAccessKey() {
        return accessKey;
    }

    public void setAccessKey(String accessKey) {
        this.accessKey = accessKey;
    }

    public String getAccessKeySecret() {
        return accessKeySecret;
    }

    public void setAccessKeySecret(String accessKeySecret) {
        this.accessKeySecret = accessKeySecret;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }
}

=====================================================================

import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.junit.Test;

/**
 * Created by Janesong on 2017/3/4.
 */
public class JsonGoogleTest {

    @Test
    public void test2() {
        System.out.println("*******************将UserInstance对象集合转换成JSON***************");
        ArrayList<UserInstance> arrayList = new ArrayList<UserInstance>();          // 初始化数据对象
        UserInstance userInstance = null;

        // 初始化arrayList容器 2个UserInstance对象
        for (int i = 0; i < 2; i++) {
            userInstance = new UserInstance();
            userInstance.setId((123456l + i + 1));
            userInstance.setAccessKey("AccessKey1234567890" + i);
            userInstance.setAccessKeySecret("AccessKeySecret1234567890" + i);
            userInstance.setState(1);
            arrayList.add(userInstance);
        }

        Gson gson = new Gson();                   // 创建Gson对象
        String strJson = gson.toJson(arrayList);  // list集合-->Json数组
        System.out.println(strJson);
        // 将str json格式变成 list格式
        List<UserInstance> list = gson.fromJson(strJson, new TypeToken<List<UserInstance>>() {
        }.getType());
        // 遍历输出List集合
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.print(" 第" + (i + 1) + "个: ");
            System.out.print(" id:" + list.get(i).getId());
            System.out.print(" \taccessKey:" + list.get(i).getAccessKey());
            System.out.print(" \taccessKeySecret:" + list.get(i).getAccessKeySecret());
            System.out.println(" \tstate:" + list.get(i).getState());
        }
    }

    @Test
    public void test() {
        System.out.println("*******************将UserInstance对象转换成JSON******************");

        // 封装UserInstance对象
        UserInstance userInstance = new UserInstance();
        userInstance.setId(123456l);
        userInstance.setAccessKey("AccessKey1234567890");
        userInstance.setAccessKeySecret("AccessKeySecret1234567890");
        userInstance.setState(1);

        Gson gson = new Gson();    // 创建gson对象
        // 使用Gson对象tojson方法将 UserInstance对象转换成jsonObject
        String strJson = gson.toJson(userInstance);
        // 输出转换后的格式
        System.out.println(strJson);
    }

    @Test
    public void test1() {
        System.out.println("********************将JSON对象转换成UserInstance对象***************");
        // jsonObject数据
        String strJson = "{\"id\":\"0\",\"accessKey\":\"accessKey000000\",\"accessKeySecret\":\"accessKeySecret00000\",\"state\":\"1\"}";
        System.out.println(strJson);

        Gson gson = new Gson();   // 创建gson对象
        // 使用Gson对象fromJson方法 将 jsonObject-->UserInstance对象
        UserInstance userInstance = gson.fromJson(strJson, UserInstance.class);
        // 输出对象的属性
        System.out.print(" id:" + userInstance.getId());
        System.out.print(" \taccessKey:" + userInstance.getAccessKey());
        System.out.print(" \taccessKeySecret:" + userInstance.getAccessKeySecret());
        System.out.println(" \tstate:" + userInstance.getState());
    }

}


TAG: java Java Object object

 

评分:0

我来说两句

我的栏目

日历

« 2024-03-21  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 17573
  • 日志数: 16
  • 建立时间: 2016-09-08
  • 更新时间: 2018-03-28

RSS订阅

Open Toolbar