json的两种解析方式
1)谷歌提供的gson;
Gson 是一个 Google 提供的一个 Java 库,可用于将 Java 对象转换为 JSON 表示。它也可以被用来将 JSON 字符串转换成一个等效的 Java 对象。
(1)从json格式转为字符串形式:获取需要的字符串;格式化为字符串
(2)从字符串格式转为json格式:
-
Gson 的 节点对象:
-
JsonElement : 所有的节点 都是 JsonElement 对象.
-
JsonPrimitive : 基本的 数据类型的 节点 对象, JsonElement 的子类.
JsonNull : 代表 空节点 对象,即 有 key,value 为空,JsonElement 的子类.
JsonObject : 对象 数据类型的 节点 对象, JsonElement 的 子类.
JsonArray : 数组 数据类型的 节点 对象, JsonElement 的 子类.
-
-
JsonElement 的取值:
- JsonPrimitive : value 的 取值对应 java 的
- int,double,float,long,short,boolean,char,byte,String,BigDecimal,BigI nteger,Number
- JsonObject : value 的取值对应 java 的 Object 对象.
- JsonArray : value 的取值对应 java 的 List 及其子类对象.
- 解析的步骤
- 获得解析器
- 获得根节点元素
- 根据文档判断根节点属于什么类型的 Gson 节点对象
- 取得节点下的某个节点的 value
2)阿里巴巴提供的fastjson;
XML可扩展的标记语言
xml 由 html 发展而来,与 html 格式相似,但是比 html 严格。由于结构严谨导致有效数据少。
写法和HTML样式一致,但是它仅仅关注数据本身,标记可扩展,即标记可以自定。xml 比 数据库占用的资源少,操作方便,用来存储简单的信息,现在主要用在程序的配置文件上(比如 web.xml) 。
存储数据的两种方式:以文本内容或者以属性值的形式存储。
语法规范:
1)必须有XML的文档声明
标识 | 说明 |
---|---|
<? | XML声明开始字符 |
XML | 表示这是一份XML文件 |
version | 用来指定XML的版本,只有一个版本是1.0 |
standalone | 表示该文件是否是独立的,默认是yes |
encoding | 指定文件的编码格式 |
?> | xml声明结束字符 |
2)必须仅有且仅有 一个根元素
3)严格区分大小写
4)属性值用引号,键值对用冒号隔开
5)在一个元素中,一个属性只能出现一次
6)空标记关闭
7)元素正确嵌套
元素命名规则:
1)、名称中可以包含字母、数字或者其他可见字符;
2)、名称不能以数字开头;
3)、不能以 XML/xml/Xml…开头;
4)、名称中不能含空格;
5)、名称中不能含冒号(注:冒号留给命名空间使用)
实体:
1)内置的五中实体
2)自定义实体