概述
文章目录
- 什么是数据交换格式?
- JSON
- XML
什么是数据交换格式?
在公司的web项目中,客户端和服务器常用的数据交换格式有JSON
、XML
以及模板引擎ftl等。目前大部分公司的项目的服务器响应客户端请求都是返回JSON数据格式。
一般来说分客户端分为两大类:移动端、PC端。
ios
和安卓
,采用的通讯方式是http
协议+json
的restful风格,也是目前大多数互联网公司的项目采取的方式。
xml
则用的越来越少,因为传输比较耗费资源(宽带),比较重量级。所以一般情况下,银行项目使用http
协议+xml
居多。
JSON
首先我们需要知道什么是JSON?
JSON
(JavaScript Object Notation
, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
简单来说:JSON
就是一种轻量级的数据交换格式,结构清晰易于使用,相比XML
重量级的数据交换格式更加的好用,所以客户端和服务器端采用JSON
的方式进行数据交换格式进行通讯。
JSON的数据结构如下:
{
"fruit": [
{
"name": "苹果",
"address": "烟台",
"price": "12.9",
"unit": "kg"
},
{
"name": "香蕉",
"address": "海南",
"price": "6.5",
"unit": "kg"
}
]
}
json
数据格式以两种方式呈现,对象/数组。
以"{"
开头,"}"
结尾,"{}"
包裹的为一个json
对象,对象里面的值以key value
格式存放。"[]"
表示json
数组,里面装载着若干json
对象。
常用的JSON解析框架
fastjson
(阿里)、gson
(谷歌)、jackson
(SpringMVC自带)
例如fastJson的API
XML
首先我们需要知道XML是什么?
可扩展标记语言,标准通用标记语言的子集,(Extensible Markup Language
,简称XML
)。是一种用于标记电子文件使其具有结构性的标记语言。主要作用是用来(描述)存储一些数据,或者说用来做配置文件使用,如spring
项目就采用了xml
文件。
使用xml
要注意文件头部的结构,需要声明版本号,编码方式。xml
中用标签的方式呈现,层层嵌套,可看做树形结构。
XML数据结构如下:
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student id="1">
<name>小明</name>
<address>深圳</address>
<sex>1</sex>
</student>
... ...
</students>
XML的解析方式
Dom4j
、Sax
、Pull
,一般是这几种。
dom4j
不适合大文件的解析,因为它是一下子将文件加载到内存中,所以有可能出现内存溢出,sax
是基于事件来对xml进行解析的,所以他可以解析大文件的xml,也正是因为如此,所以dom4j
可以对xml进行灵活的增删改查和导航,而sax没有这么强的灵活性,所以sax
经常是用来解析大型xml
文件,而要对xml
文件进行一些灵活(crud
)操作就用dom4j
。
公司项目中解析xml
我使用的dom4j
,使用dom4j
主要就是操作Document
对象。创建SAXReader
对象后通过对象读取文件,获取Document
对象之后就很方便了,再获取根节点,即root
节点,之后的操作就是一些迭代获取属性/文本之类的操作。
最后
以上就是漂亮奇异果为你收集整理的常用数据交换格式的全部内容,希望文章能够帮你解决常用数据交换格式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复