您的位置:首页 > Web前端 > JavaScript

Gson的JsonParser使用

2016-07-27 16:05 381 查看
偶然发现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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: