String、JsonObject、JavaBean 互相转换
User user = new Gson().fromJson(jsonObject, User.class);
User user = new Gson().fromJson(string, User.class);
String string = new Gson().toJson(user);
JsonObject jsonObject = new Gson().toJsonTree(user).getAsJsonObject();
JsonObject jsonObject = new JsonParser().parse(string).getAsJsonObject();
String、JsonArray、List互相转换
List<User> userList = gson.fromJson(string, new TypeToken<List<User>>() {}.getType());
List<User> userList = gson.fromJson(jsonArray, new TypeToken<List<User>>() {}.getType());
String string = new Gson().toJson(userList);
JsonArray jsonArray = new Gson().toJsonTree(userList, new TypeToken<List<User>>() {}.getType()).getAsJsonArray();
JsonArray jsonArray = new JsonParser().parse(string).getAsJsonArray();
注:此文为转载,转载出处:https://blog.csdn.net/pg_guo/article/details/51083502
但是使用过程有一点小问题,在此处纠正。
new Gson().fromJson();方法中,前一个传递的是String类型,即需要用arrayJson.tostring()方法。
例:
Gson gson=new Gson(); list=gson.fromJson(jsonArray.toString(),new TypeToken<List<MyUser>>(){}.getType());