• Google Gson 简单使用


    Google Gson 的下载:http://code.google.com/p/google-gson/

    一个简单的实例,本人初学,有不对的地方请高人指出,一起学习

    User.java

    package cn.true123.testgson;

    public class User {
    private int id;
    private String name;

    /**
    * default construct
    */
    User() {
    }

    User(int id, String name) {
    this.id = id;
    this.name = name;
    }

    public int getId() {
    return id;
    }

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

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    }

    生成json字符串

         GsonBuilder gsonBuilder = new GsonBuilder();
         //通过GsonBuilder 的create生成Gson对象
    Gson gson = gsonBuilder.create();
    List<User> tusers = new ArrayList<User>();
    for (int i = 0; i < 5; i++) {
    tusers.add(new User(i, "user" + i));
    }
         //通过TypeToken活动Type对象
    String gsonstr = gson.toJson(tusers, new TypeToken<List<User>>() {
    }.getType());
    System.out.println(gsonstr);

    输出结果:

    [{"id":0,"name":"user0"},{"id":1,"name":"user1"},{"id":2,"name":"user2"},{"id":3,"name":"user3"},{"id":4,"name":"user4"}]

    下面看看怎么通过Json字符串转换成User对象

    第一种情况,转成单个对象

    注意字符串不能有"[]"

    User user = gson.fromJson("{\"id\":15,\"name\":\"OnlyOne\"}", User.class);
    System.out.println("userID = "+user.getId() + ";UserName = " + user.getName());

    输出结果

    userID = 15;UserName = OnlyOne

    第二种情况,转化成对个对象

    第二个参数是转成对象的Type类型

    List<User> fusers = gson.fromJson(gsonstr, new TypeToken<List<User>>() {
    }.getType());
    for (User u : fusers) {
    System.out.println("userID = "+u.getId() + ";UserName = " + u.getName());
    }


    输出结果

    userID = 0;UserName = user0
    userID = 1;UserName = user1
    userID = 2;UserName = user2
    userID = 3;UserName = user3
    userID = 4;UserName = user4

    其他的自己看API吧,http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html






  • 相关阅读:
    [导入]基于Web的B/S结构实时监控系统[转]
    [导入]IE5.0与6.0的区别
    [导入]正确配置和维护Apache WEB Server 安全性
    [导入]又是一个烦人的问题
    [导入]今天就写了这一个语句!
    DNS解析代码copy
    使用uPnP在路由器上映射端口
    查看数据库内存占用
    yield与sleep
    wCF REST
  • 原文地址:https://www.cnblogs.com/feimeng0530/p/2405722.html
Copyright © 2020-2023  润新知