Gson的节点对象:
JsonElement : 所有的节点 都是 JsonElement 对象.
JsonPrimitive : 基本的数据类型的节点对象,JsonElement的子类
JsonNull : 代表空节点对象,即有key,value为空,JsonElement的子类
JsonObject : 对象数据类型的节点对象, JsonElement的子类
JsonArray : 数组数据类型的节点对象, JsonElement的子类
import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonPrimitive; public class Json节点解析 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); sb.append("{"); sb.append(" ‘flag‘:true,"); sb.append(" ‘data‘:"); sb.append(" {"); sb.append(" ‘name‘:‘典韦‘,"); sb.append(" ‘Power‘:98"); sb.append(" }"); sb.append("}"); String json = sb.toString(); // 【1.获得解析者】 JsonParser parser = new JsonParser(); JsonElement element = parser.parse(json); // 【2.获得根节点元素】 JsonObject root = element.getAsJsonObject(); // 获得flag节点的值, flag节点为基本数据节点 JsonPrimitive flagJson = root.getAsJsonPrimitive("flag"); // 【3.取得节点下的某个节点的value】 // 基本节点取值 boolean flag = flagJson.getAsBoolean(); // 获得 data 节点的值,data节点为Object数据节点 JsonObject dataJson = root.getAsJsonObject("data"); // 将节点上的数据转换为对象 People p = new Gson().fromJson(dataJson, People.class); System.out.println(p.getName()); } }
运行结果:
典韦
原文:http://www.cnblogs.com/AndyHoo/p/6375989.html