JSON ELement 的简单介绍
来源:互联网 发布:顶级域名表示政府部门 编辑:程序博客网 时间:2024/06/14 03:20
JsonElement:
该类是一个抽象类,代表着json串的某一个元素。这个元素可以是一个Json(JsonObject)、可以是一个数组(JsonArray)、可以是一个Java的基本类型(JsonPrimitive)、当然也可以为null(JsonNull);JsonObject,JsonArray,JsonPrimitive,JsonNull都是JsonElement这个抽象类的子类。JsonElement提供了一系列的方法来判断当前的JsonElement
是否是上述子类的一种:比如isJsonObject()用来判断当前的json元素是否是一个数组类型,它的实现很简单且这里巧妙地应用了Java的多态机制:
同样的既然有isJsonObject()等这样的判断,该类也提供了把当前JsonElement作为上述子类的一种返回的方法:
各个JsonElement的关系可以用如下图表示:
JsonObject对象可以看成 name/values的集合,而这些values就是一个个JsonElement,他们的结构可以用如下图表示:
JsonPrimitive:
JsonElement的子类,该类对Java的基本类型及其对应的对象类进行了封装,并通过setValue方法为value赋值
需要注意的是对于Character类型的json元素需要特殊处理:同时对于传入的其他json类型通过checkArgumeng进行过滤,如果不是是Number或者String和 PRIMITIVE_TYPES里的一种的话,就会抛出异常。同样类似JsonElement,该类也提供了判断某一个json元素是否是某一类型的判断和把某一json元素作为某一类型返回的方法:对于Java几个基本类型用JsonPrimitive类进行了封装, 还遗漏了一个null的json元素,Gson也对它进行了单独的处理,就是JsonNull:
JsonNull:
该类没什么可说的,为不可变类。当然在json中所有的JsonNullObject 调用equals方法判断的话都是相等的。
JsonArray:
Json的数组包含的其实也是一个个Json串。所以不难猜出JsonArray中用一个集合类源码中用List<JsonElement>来添加json数组中的每个元素。(详见源码,很简单)
JsonObject:
json对象类,包含了键值对,键是字符串类型,它的值是一个JsonElement。用 LinkedTreeMap<String, JsonElement> members来保存。
- JSON ELement 的简单介绍
- JSON的简单介绍
- json的简单介绍
- JSON的简单介绍
- JSON的简单介绍
- Json的简单介绍
- Json.NET的简单介绍
- Json解析的简单介绍
- C#解析json以及简单的介绍
- 关于json库的简单介绍
- JSON(01)JSON简单介绍
- 简单介绍下Json
- 简单介绍下Json
- JSON简单入门介绍
- json简单介绍
- JSON简单介绍
- JSON简单介绍
- ext.Element类的介绍
- 初识Django
- springMVC+activemq整合注解方式
- JS的三种最常见的对话框
- Docker 创建私有仓库
- JVM——内存管理和垃圾回收
- JSON ELement 的简单介绍
- dom4j解析xml文件 或者xml格式字符串
- Verilog 语法入门知识
- 如何利用U盘制作启动盘安装系统
- hbase的整体了解
- spring-mvc限制前端传递list参数的长度为256
- docker的一些使用小结
- 神经网络与深度学习第四周-Deep Neural Network
- 小程序问题:未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。