Redian新闻
>
JSON 将替代 XML?绝对不可能!

JSON 将替代 XML?绝对不可能!

公众号新闻

点击上方“芋道源码”,选择“设为星标

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

 
来源:麦叔编程

近日在网上“冲浪”,发现一篇文章标题很醒目:

这...

虽然 JSON 格式很香,在当今应用也很普及,但是说能替代 XML 格式,我觉得有点不太现实。

JSON vs XML

JSON 的优势

  • 易于读写:JSON 使用简单的键值对结构 ,相比于 XML 的繁琐的标记,更加易于阅读和编写。
  • 较小的文件大小:相比于 XML,JSON 的文件大小通常更小,这意味着更快的传输速度和更少的网络带宽占用。
  • 更好的性能:JSON 的解析和生成速度通常比 XML 更快 ,这使得它在大数据量和高并发访问的场景下表现更好。
  • 易于使用:JSON 支持几乎所有的编程语言,并且可以通过 JavaScript 内置的 JSON.parse() 和 JSON.stringify() 方法轻松地进行序列化和反序列化操作。
  • 支持复杂数据类型:JSON 支持对象、数组、字符串、数字、布尔和 null 等复杂的数据类型,因此适用于各种类型的应用程序。

XML 的优势

  • 可读性也很强:由于 XML 具有良好的标签结构 ,因此在阅读和编辑方面具有很高的可读性。它具有丰富的语法和标记,可以更清晰地表示数据结构。

JSON 和 XML 的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式。(萝卜青菜各有所爱)

  • 更加灵活:XML 可以使用 DTD、Schema 等技术进行验证 ,具有更强的数据校验和数据描述能力。而且 XML 中的数据可以自定义标记 ,可以根据需要进行灵活地扩展和修改。
  • 支持命名空间:XML 可以使用命名空间机制来避免元素和属性名的冲突。这在一些复杂的数据结构中非常有用。
  • 更加通用:虽然 JSON 是 JavaScript 对象表示法的缩写,但是 XML 不依赖于任何语言或平台,因此可以跨语言和跨平台使用,具有更广泛的应用范围。

同一数据的不同格式表示法

JSON:

{
  "product": {
    "id""12345",
    "name""iPhone 13",
    "price"999.00,
    "description""The latest iPhone model from Apple",
    "colors": ["Silver""Gold""Graphite""Blue""Red"],
    "specs": {
      "display""6.1-inch Super Retina XDR display",
      "processor""A15 Bionic chip",
      "camera""Dual-camera system with 12MP Ultra Wide and Wide cameras"
    }
  }
}

XML:

<product>
  <id>12345</id>
  <name>iPhone 13</name>
  <price>999.00</price>
  <description>The latest iPhone model from Apple</description>
  <colors>
    <color>Silver</color>
    <color>Gold</color>
    <color>Graphite</color>
    <color>Blue</color>
    <color>Red</color>
  </colors>
  <specs>
    <display>6.1-inch Super Retina XDR display</display>
    <processor>A15 Bionic chip</processor>
    <camera>Dual-camera system with 12MP Ultra Wide and Wide cameras</camera>
  </specs>
</product>

从上面的示例数据中我们可以很容易地发现 JSON 的优点,例如:JSON 比 XML 要简洁不少,这就意味着更快的数据解析、传递和储存。

但 XML 肯定也有自己的两把刷子,要不然早就被 JSON 按在地上摩擦了。

XML 格式无法替代的优点

  • 数据描述能力:相对于 JSON,XML 具有更强的数据描述能力,能够描述更为复杂的数据结构,例如嵌套的表格、树形结构等。同时,XML 还支持 DTD 和 XML Schema 等工具,可以对数据进行严格的验证和约束,保证数据的完整性和正确性。
  • 文档处理能力:XML 本身就是一种标记语言,适合用于描述和处理文档类型的数据。在一些场景下,例如在线编辑器、电子书、电子期刊等,XML 仍然是比较合适的数据格式。

网页转 word 格式文件,就是利用 xml 的这个能力。

  • 命名空间:XML 具有命名空间机制,可以避免元素和属性名称的冲突,保证数据的唯一性和准确性。在一些领域,例如复杂的数据交换协议、标准化的数据格式等,命名空间机制具有很高的实用价值。

例如,我们可以为每个公司定义一个命名空间,例如 "company1" 和 "company2",然后在 XML 文档中使用命名空间前缀来区分元素的名称。例如,公司1的员工信息可以使用 "company1:name" 来表示员工姓名,公司2的员工信息可以使用 "company2:name" 来表示员工姓名。这样就能保证在不同的文档中,元素名称不会冲突。

<employees xmlns:comp1="http://www.company1.com"
          xmlns:comp2="http://www.company2.com">
 <comp1:employee>
   <comp1:name>John</comp1:name>
   <comp1:age>30</comp1:age>
 </comp1:employee>
 <comp2:employee>
   <comp2:name>Jane</comp2:name>
   <comp2:age>25</comp2:age>
 </comp2:employee>
</employees>

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

最后

尽管在 Web 开发和移动应用开发,JSON 的特点使得它是一种更为常用的数据格式。

但存在即是合理,XML 同时在特定领域也是无可替代的!



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
AP转轨A-level拿牛剑G5 offer,也不是不可能!美国成功脱钩?美专家报告:不可能!无法减少对中国供应链的依赖在线求助!国内寄来这种包裹,华男收到CIS信件:可能被罚款、处罚和监禁!绝对不是诈骗信!杰克逊维尔警长请求居民与JSO共享家庭摄像头热爱健身的你,这份波士顿健身指南,绝对不能错过!5066 血壮山河之武汉会战 鏖战幕府山 35卢卡申科:不可能!他们又没疯Fastjson 很快,但不适合我....惊了!澳币汇率接近破5!超市物价突然暴涨!网友抱怨太离谱!$1刀就能买东西的时代已结束?这家华人线上超市用实力表示:不可能!"我们当然不可能主动去找美国人,也不可能乞求他们"「更可能是磁体!」普林斯顿LK-99研究支持北大结果,38页论文提出铜替代铅或不可行西雅图玩什么?绝美《暮光之城》取景地,你竟然不知道?!台湾走走 (一):台北街头被撞,亲历台湾医疗VS Code内置JS减小20%;Python团队官宣下线GIL;Chrome替代品1.0发布;Twitter改名X | 周热点使用 fastjson 又又又翻车了,“莫名其妙”多了属性!躺平养老不可能!劳工部长发话:50岁以上都去送外卖!亚特兰大最好吃的牛排在哪里?绝对不能错过的收藏级攻略!关于前后端JSON解析差异问题与思考探究|Go JSON 三方包哪家强?不让人疲惫的世界是我们的伊甸园米字欣赏卢卡申科“爆料”,俄:不可能!Spring Boot + Gzip 压缩超大 JSON 对象,传输大小减少一半!孩子咳嗽,这7类食物绝对不能吃!可能越吃越严重澳洲WFH成常态!办公楼或将改建成住宅?!专家:也不是不可能!赵明:打破苹果一家独大,并非不可能!热搜!高铁被“熊家长”掌掴女孩拒绝和解!警方认定“互殴”,专家:或许合法,但绝对不合理!台湾走走 (一):台北街头被撞,亲历台湾医疗键盘到底有多脏?绝对想象不到……基于 JIT 技术的开源全场景高性能 JSON 库【财闻联播】特斯拉大降价?销售回应:不可能!尹锡悦突访乌克兰,什么信号?警报炸锅,FastJson 又立功了。。是否需要学习第4门Alevel?多一个A*就多一份G5 offer可能吗?绝对不能交给孩子爸的事,它排第一!网友:看完爸爸们的表现只想哈哈哈哈哈哈哈“遇到这种男人,绝对不要嫁”
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。