1.初始化两种方式
Gson gson=new Gson(); 默认不显示null值,value值会被转义
Gson gson=new GsonBuilder().serializeNulls().disableHtmlEscaping().create();这么写法就不会出现以上问题
2.简单使用方法
//1. String JsonObject javaBean
String stuStrTest1=gson.toJson(jsonObject1);
String stuStrTest2=gson.toJson(stuJavaBean1);
JsonObject jsonObjectTest1=gson.toJsonTree(stuJavaBean1).getAsJsonObject();
JsonObject jsonObjectTest2=new JsonParser().parse(stuStr1).getAsJsonObject();
Student stuJavaBeanTest1=gson.fromJson(stuStr1,Student.class);
Student stuJavaBeanTest2=gson.fromJson(jsonObject1,Student.class);
//2. String JsonArray List
String stuStrTest3=gson.toJson(jsonArray1);
String stuStrTest4=gson.toJson(list1);
JsonArray jsonArrayTest1=gson.toJsonTree(list1).getAsJsonArray();
JsonArray jsonArrayTest2=new JsonParser().parse(stuStr3).getAsJsonArray();
List<Student> listTest1=gson.fromJson(stuStr3,new TypeToken<List<Student>>(){}.getType());
List<Student> listTest2=gson.fromJson(jsonArray1,new TypeToken<List<Student>>(){}.getType());
3.注意事项
String str={ “age1”:18,“age2”:18,“age3”:18};
String str2={ “age1”:“18”,“age2”:“18”,“age3”:“18”};
Map map=new Gson().fromJson(str,Map.class);//整型会变更了浮点型
Map map=new Gson().fromJson(str2,Map.class);//都是按照字符串类型解析的
如果想解决整型变浮点型还可以
Map map=new Gson().fromJson(str,new TypeToke<Map<String,String>>(){}.getType());