当前位置: 首页 > 工具软件 > JSONParser > 使用案例 >

Gson的JsonParser使用

夏俊杰
2023-12-01

偶然发现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


 类似资料: