首页 > 编程知识 正文

fastjson转xml(xml与json)

时间:2023-05-04 03:37:22 阅读:95684 作者:4232

一、引言

目前,rest风格的API越来越普遍,但JSON和XML基本上用于两种主要形式的数据交换。 JSON和XML在网上都有完整的开放标准RFC 7159和RFC 4825。 下面介绍这两种数据格式。

二、JSON

1、JSON 简介

JSON是用于在多个APP之间共享数据的通信格式。 Jon表示JavaScript对象注释。 基本上是键和值对的集合。

官方网站: http://www.json.org/

在线检查JSON结构的网站: https://JSON格式器. curious概念.com /

2、JSON 数据结构

JSON有两种数据结构。

Map,也称为对象; 阵列; […]也就是说,所有的JSON对象都由这些形式表示;

2.1、Map

简单地说是Java的地图。 以名称-值对的形式给出。 名称和值之间用“:”分隔,两个映射之间用“,”分隔。 一般的表达方式如下。

“关键1”:“值1”,“关键2”:“值2”

以下对象有三个键-值对

“第一名称”:“查看者”,“最后名称”:“组”,“生成器”:“邮件”

Map是无序的“名称/值对”的集合。 一个对象以“{”开头,以“}”结尾。 各“名字”后面跟着“:”; “名称/值对”之间用“,”分隔。

2.2、 Array

是普通意义上的数组,一般形式如下。

“arr2”、“arr2”和“arr2”;

以下数组有三个JSON对象,每个对象有三个键值对

[

“名称”:“端口”,“存储装置”:“10”,“单元”:“公斤”,

“名称”:“自动”,“存储装置”:“32”,“单元”:“公斤”,

'名称' : '联合','存储装置' : ' 27 ','单元' : '千克'

]

数组是“值”的有序集合。 序列以“[”开始,以“”结束。 之间用“,”分隔。

图中的“值”可以是用双引号括住的字符串(字符串)、“数字”number )、“真”、“假”、“空”或“数组”)数组。 这些结构可以嵌套。

字符串(string )是用双引号括起来的任意数量的Unicode字符的集合,使用反斜线进行转义。 1个文字

(character)即一个单独的字符串(character string)。

字符串(string)与C或者Java的字符串非常相似。

数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

2.3、嵌套Map

JSON对象也可以嵌套:

{ "id": "0001", "type": "donut", "name": "Cake", "image": { "url": "images/0001.jpg", "width": 200, "height": 200}, "thumbnail": {"url": "images/thumbnails/0001.jpg", "width": 32, "height": 32} }

2.4、小结

JSON 的数据结构只有两种可以嵌套表示,比如 Array 中可以嵌套 Object 等Object 是以{}表示,Array是以 [ ] 表示

三、XML

1、XML简介

XML 是一种标记语言,也是一种用于在多个应用程序之间共享数据的通信格式,而不是 HTML,它更侧重于数据表示。

XML 被设计用来描述数据并关注数据是什么

XML 标签不需要预先定义。在 XML 中,标签和文档结构由其作者定义。通常,XML标签是自解释的,并描述它们之间的内容。

例如:

<section> <title>BOOK</title> <signing> <author name="author-1"/> <book title="book1" price="$11"/> </signing> <signing> <author name="author-2"/> <book title="book2" price="$22"/> </signing> </section>

1.1、XML语法规则

必须包含一个根元素,它是所有其他元素的父元素所有 XML 元素都必须具有结束标记XML 标签区分大小写XML 元素必须正确嵌套必须引用 XML 属性值

在线校验XML结构的网站:https://codebeautify.org/xmlvalidator

1.2、XML中的实体引用

某些字符不能用作 XML 标记内的内容。因此,我们用特定文本(称为实体引用)替换这些字符,以便从字面上解析这些字符

在 XML 中有 5 个预定义的实体引用:

四、JSON与XML互转示例

在线格式互转: http://www.utilities-online.info/xmltojson/#.XFE-pegzaUk

1、简单XML

XML格式:

<person> <name>zuozewei</name> <age>20</age> </person>

JSON格式:

{ "name":"zuozewei", "age":20 }

2、复杂XML

XML格式:

<section> <title>BOOK</title> <signing> <author name="author-1"/> <book title="book1" price="$11"/> </signing> <signing> <author name="author-2"/> <book title="book2" price="$22"/> </signing> </section>

JSON格式:

{ "section": { "title": "BOOK", "signing": [ { "author": { "-name": "author-1" }, "book": { "-title": "book1", "-price": "$11" } }, { "author": { "-name": "author-2" }, "book": { "-title": "book2", "-price": "$22" } } ] } }

五、XML VS JSON

六、总结

XML是一种数据格式,同时它也是一种语言。它具有许多强大的功能,使其不仅仅是简单的数据交换数据格式。例如 XPath,属性和命名空间,XML 模式和 XSLT 等。所有这些功能都是 XML 流行的主要原因。

JSON 并不是为了拥有这样的功能而设计的,即使它们中的一些现在正试图在 JSON 中找到它们的位置,例如 JSONPath。

简而言之,XML 的目的是文档标记。每当文档标记和元数据是数据的重要组成部分并且不能被删除时,总是更喜欢使用 XML。

JSON 的目的是结构化数据交换。它通过直接表示对象,数组,数字,字符串和布尔值来实现此目的。如果不要求元数据和文档标记,始终使用 JSON。

参考资料:

[1] https://www.json.org/json-zh.html [2] https://blog.csdn.net/xiazdong/article/details/7059573

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。