常用数据交换格式

什么是数据交换格式?

在公司的web项目中,客户端和服务器常用的数据交换格式有JSONXML以及模板引擎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的解析方式
Dom4jSaxPull,一般是这几种。

dom4j不适合大文件的解析,因为它是一下子将文件加载到内存中,所以有可能出现内存溢出,sax是基于事件来对xml进行解析的,所以他可以解析大文件的xml,也正是因为如此,所以dom4j可以对xml进行灵活的增删改查和导航,而sax没有这么强的灵活性,所以sax经常是用来解析大型xml文件,而要对xml文件进行一些灵活(crud)操作就用dom4j

公司项目中解析xml我使用的dom4j,使用dom4j主要就是操作Document对象。创建SAXReader对象后通过对象读取文件,获取Document对象之后就很方便了,再获取根节点,即root节点,之后的操作就是一些迭代获取属性/文本之类的操作。

发布了13 篇原创文章 · 获赞 32 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/QingHe97/article/details/103826844