偶然发现Gson还有JsonParser这个解析类,下面写一个例子尝试使用:
String jsonString="{'flag':true,'data':{'name':'张三','age':18,'deleteFlag':false}}";
// 获得 解析者
<span style="color:#FF0000;">JsonParser parser =new JsonParser();</span>
// 获得 根节点元素
<span style="color:#FF0000;">JsonElement jsonElement =parser.parse(jsonString);</span>
// 根据 文档判断根节点属于 什么类型的 Gson节点对象
// 假如文档 显示 根节点 为对象类型,获得 根节点 的实际 节点类型
JsonObject jsonObject =jsonElement.getAsJsonObject();
// 获得 flag 节点的值, flag 节点为基本数据节点
JsonPrimitive flagJson =jsonObject.getAsJsonPrimitive("flag");
// 基本节点取值
boolean flag = flagJson.getAsBoolean();
// 获得 data 节点的值,data 节点为Object数据节点
JsonObject dataJson = jsonObject.getAsJsonObject("data");
JsonPrimitive namePrimitive =dataJson.getAsJsonPrimitive("name");
String name =namePrimitive.getAsString();
JsonElement element =dataJson.get("age");
int age = element.getAsInt();
JsonPrimitive deleteFlagPrimitive =dataJson.getAsJsonPrimitive("deleteFlag");
boolean deleteFlag =deleteFlagPrimitive.getAsBoolean();
Log.e("test", "flag = " + flag +",name =" + name + ",age =" + age+",deleteFlag =" + deleteFlag);
flag=true,name =张三,age =18,deleteFlag =false