传输格式 之 更好的沟通方式Json和xml的对比

118 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天,点击查看活动详情

前言

周日了,兄弟们,到月底了收拾收拾心情准备下一个月的开始了。

本周日给大家讲一下json的变化,json全称JavaScript Object Notation,js对象简谱,也就是用于描述一个对象的内容。在早期数据传输格式使用xml或者文件形式进行传输,在开发过程中难以识别,对象层次不够具象化,开发人员为了解决这个问题便制定了新的协议Json。

xml的形式

Xml是用来传输和存储数据,主要针对的是数据的内容,而有些人会把他和html混为一谈,这两者是不同的html是被用来显示数据的配合css是为了展示数据给用户查看外观。

xml 大概长这样,也是key/value键值对的形式

<application generated-by="intellij">

   <id>sensor-web</id>

   <classpath>
      <dir name="D:/company/CompanyCode/hanzhe-sensor-collection/sensor-web/target/classes">
      </dir>
   </classpath>

</application>

早期的xml大量运用于spring的配置文件中与mybatis的mapper文件中,至今也在使用。

json格式

json格式使用在配置文件中也经常见到,比如前端的package.json或者vue、react中的配置文件都是采取json格式,xml与json两者都是存储数据的载体,本身并没有什么冲突,完全看使用者的喜好决定。

但是json运用范围会更加广泛,经常用于服务间沟通,http对接前端数据,以及开放api给其他开发者使用。尤其是开放api这一块对于开发者来说直接一目了然,并且可以根据字段表述来编写实体类。mongodb使用了json的衍生版本Bson,Bson与json主要是在存储底层上不一样,以及处理速度、还有支持的格式中。

json格式的案例:

{
    "serialVersionUID": 1,
    "id": 1,
    "name": "demoData",
    "eui": "demoData",
    "title": "demoData",
    "remark": "demoData",
    "deviceList": {
        "eui": "demoData",
        "name": "demoData"
    }
}