数据格式之战:JSON vs XML

   2016-07-13 0

  在比较JSON和XML之前,我们先来上一堂关于数据格式的简要历史(更准确的说,是关于XML的始祖):

  • 早在1970年,IBM开发了一种叫Generalized Markup Language的标记语言,简称GML,它主要是为脚本语言定义的一组宏。
  • 1986年,基于GML开发的另一种标记语言Standard Generalized Markup Language(简称SGML)诞生,并成为了ISO标准,接着在1998年,SGML又被重新定义为XML。

  然而另一方面,JSON是Douglas Crockford在2001年开始推广使用的数据格式,在2005年-2006年正式成为主流的数据格式,雅虎和谷歌就在那时候开始广泛地使用JSON格式。

 两者的定义

  XML(Extensible Markup Language)是一种用来编码文档的标记语言,人和机器都能够快速理解XML文档的含义。它的其中一个目标就是能在互联网上广泛应用,现在XML已经被广泛地应用在各种应用、WEB服务和网站中。

  JSON(JavaScript Object Notation)是一种轻量级的数据格式,它以”name / value”的格式来传输数据对象,JSON的目的就是为了能替代XML,现在也有很多编程语言支持JSON格式了。

  从语法的角度看,两者的区别还是很大的,看下面的两段代码:

  JSON

  XML

 各自的优势

  从上面的两个例子中我们可以看到,由于合理地利用了代码缩进和空格,JSON比XML可读性更强一些,另外,JSON没有利用全标记的结构,所以代码看起来更加紧凑,占用的空间也少。

  JSON的另一个优势是它可以包含更多的结构化信息,比如:它更容易表达不同的数据格式,像numbers (11),strings (“11″)和NULL值,甚至是数组。

  另一方面,XML依然被开发者广泛地使用着,作为数据格式领域的老大哥,XML也有很多自己的优势,比如:XML有更多的文档和开发工具。另外一个比JSON更大的优势是XML有一个 XML schema 来描述XML结构化信息,它能够详细描述XML文档的信息,也可以进行数据的验证。

 选择JSON还是XML?

  最后,我们来客观地选择JSON还是XML。如果你正要学习JSON及其相关的库,那么你可以继续学习,因为JSON将更加流行,使用也更加广泛。另外,如果你相对保守的话,你可以坚持使用XML,对于这么多年老牌的标记语言,证明了XML的存在是有其价值的,未来它也不会被全部取代。

  那么谈谈你对这两种数据格式的看法,你在开发中更倾向于哪一种数据格式呢?

  英文原文:Battle of data formats: JSON vs XML 译文:codeceo - 小峰

 
标签: JSON XML
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • react——axios 和fetch-jsonp
    1.安装模块 npm install axios --save / npm install fetch-jsonp --save    2.在使用的页面引入import axios from 'axios'import fetchJsonp from 'fetch-jsonp';axiosimport React from 'react'import axios from 'axios'class Axios extends
    03-08
  • react中使用jsonp跨域
    https://www.npmjs.com/package/jsonp原生jsonp的使用1.yarn add jsonp --save2.import JsonP from 'jsonp'3.JsonP('url',{},function(err, data){  console.log(data)})2.封装import JsonP from 'jsonp'export default class Axios {static jsonp(op
    03-08
  • vue实现导入json解析成动态el-table树表格
    vue实现导入json解析成动态el-table树表格
    目录一、需求描述二、界面展示三、代码实现一、需求描述前段时间接到一个需求是做一个类似接口文档的显示功能,将一段json数据贴到里面就可以自动解析出json数据的每个字段的类型和层级关系,用element组件的树表格的形式展示,并且可以手动新增、修改和删除
    03-08
  • vue-resource 获取本地json数据404问题的解决
    vue-resource 获取本地json数据404问题的解决
    目录vue-resource 获取本地json数据404什么是vue-resource?vue-resource 获取本地json数据404在使用vue-cli搭建的vue项目中,使用vue-resource请求本地的json格式数据,来模仿服务端返回数据流程,但是请求不到json数据,返回404。在网上查询了大量资料,大
    03-08
  • Python实现类似JavaScript 的Json对象
    Python实现类似JavaScript 的Json对象用过js的都知道 js中json也是一个对象,所以可以直接通过class.attr 取值,当attr不存在时也不会报错,那么Python可不可以也实现这样一个类,实现.取值呢答案肯定是可以的,只需要通过setattr把key,value 写入一个空类中
    03-08
  • 【EatBook】-NO.1.EatBook.1.JavaData.1.001-《JSON 必知必会-Introduction to JavaScript Object Notation》-
    【EatBook】-NO.1.EatBook.1.JavaData.1.001-《
    1.0.0 SummaryTittle:【EatBook】-NO.1.EatBook.1.JavaData.1.001-《JSON 必知必会-Introduction to JavaScript Object Notation》-Style:Java-JsonSeries:O'Reilly TuringPublishing House:人民邮电Page Number:129Since:2017-04-06End:2017-04-06Tot
    03-08
  • javascript中字符串格式转化成json对象记录
    javascript中字符串格式转化成json对象记录
    什么是JSON JSON(JavaScript Object Notation)是一种优美的JavaScript对象创建方法。JSON也是一种轻量级数据交换格式。JSON非常易于人阅读与编写,同时利于机器解析与生成。JSON是在AJAX中代替XML交换数据的更佳方案。 JSON格式与语法 var jsonobject= {
    03-08
  • JavaScript Json数组的简单使用
    JavaScript Json数组的简单使用
    1 var json = {"data":[]};2 for(var i = 0; i4; ++i){3 var newjson = {};4 newjson["name"] = "白菜"+i;5 newjson["age"]= 100+i;6 newjson["type"] = "蔬菜"; 7 json.data.push(newjson);8 }9 console.log(json)
    03-08
  • JavaScript二进制数据序列化和反序列化 二进制
    最近业余时间在搞h5小游戏,由于同步协议过于频繁,和服务器之间的同步直接用json就显得太浪费了,于是我们商讨之下决定改用二进制。学习过程中并没有遇到一篇就解决问题的文章,遂再总结一发。 1.二进制数据的存储ArrayBuffer对象、TypedArray对象、DataVie
    03-08
  • JavaScript 转义字符JSON parse错误研究
    JavaScript 转义字符JSON parse错误研究
    目录JSON 字符串转换为 JavaScript 对象找到 Scanner::Scan() 函数关键代码:ScanString() 函数JSON 字符串转换为 JavaScript 对象JSON.parse 将一个 JSON 字符串转换为 JavaScript 对象。JSON.parse('{"hello":"\world"}')以上代码输出:{  hello: "world"}
    03-08
点击排行