当前位置: 首页>后端>正文

json数据有什么容器接受 json格式的接口

前言:一般在使用API接口传输数据时通常会使用三种数据交换格式:JSON、XML、YAML

下面详细介绍一下这些数据交换格式:

一、JSON (JavaScript Object Notation)

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解析框架(推荐用jackson):
fastjson(阿里)、gson(谷歌)、jackson(SpringMVC自带)

二、XML (Extensible Markup Language)

可扩展标记语言,标准通用标记语言的子集,(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节点,之后的操作就是一些迭代获取属性/文本之类的操作。

三、YAML (Yet Another Markup Language)

YAML是一种直观的能够被电脑识别的的数据序列化格式
以下是YAML数据的具体表现形式:

key: 
    child-key: value
    child-key2: value2

YAML的适用范围:
a.由于实现简单,解析成本低,特别适合在脚本语言中使用
b.YAML比较适合做序列化。因为它是宿主语言数据类型直转的。
c.YAML做配置文件也不错。比如Ruby on Rails的配置就选用的YAML。

四、待补充:



https://www.xamrdz.com/backend/34w1937472.html

相关文章: