Gson

json字符串和对象转化

  1. 将一个对象序列化
Gson gson = new Gson();
String userJson = gson.toJson(userObject);

  1. 将一个对象反序列化
User user = gson.fromJson(userJson, User.class);
  1. 嵌套Java对象的序列化和反序列化
    json结构如下:
{
    "age": 26,
    "email": "578570174@qq.com",
    "isDeveloper": true,
    "name": "chenrenxiang",

    "userAddress": {
        "city": "Magdeburg",
        "country": "Germany",
        "houseNumber": "42A",
        "street": "Main Street"
    }
}

序列化和反序列化的过程和上面的一样

  1. List 的序列化/反序列化

序列化同上

Gson gson = new Gson();
String userJson = gson.toJson(userObject);

反序列化:

String userJson = "[{'isDeveloper':false,'name':'xiaoqiang','age':26,'email':'578570174@qq.com'},{'isDeveloper':true,'name':'xiaoqiang123','age':27,'email':'578570174@gmail.com'}]";

Gson gson = new Gson();
Type userListType = new TypeToken<ArrayList<User>>(){}.getType();

List<User> userList = gson.fromJson(userJson, userListType); 

对于List,反序列化时必须提供它的Type,通过Gson提供的TypeToken.getType()方法可以定义当前List的Type。

原文地址:https://www.cnblogs.com/charlottepl/p/12659039.html