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
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
相关文章推荐
- js处理对象参数值,过滤掉对象参数值为""、null、undefined,并返回一个新对象
- param动作标记详解。
- JS中数组的操作
- 学习Javascript闭包(Closure)
- javascript——实现继承的6种方式
- 使用Gson的JsonReader解析Json数据
- javascript --创建对象的9种方式
- js简单校验
- mac开启safari开发模式(用于OC和JS交互)
- Using Visual Studio to Debug JavaScript in IE
- javascript 引用类型 - Function类型(特性)
- JSp中 include指令标记与<jsp:include>动作标记的区别
- JSPatch应用的一些逻辑
- html往js文件传递参数
- js最近天数
- 很赞的JSF参考教程,走不路过,不要错过
- javascript正则表达式的基本知识
- JSP实现验证码
- javascript常用方法整理;(不断更新)
- 3种JavaScript消息框概念和语法