当前位置: 首页 > article >正文

HTML、XML、JSON 是什么?有什么区别?又是做什么的?

在学习前端开发或者理解互联网工作原理的过程中,我们经常会遇到三个非常重要的概念:HTML、XML 和 JSON。它们看起来有点像,但其实干的事情完全不同。


🏁 一、他们是谁?什么时候诞生的?

名称全称诞生时间谁发明的用途
HTMLHyperText Markup Language1991Tim Berners-Lee(万维网之父)构建网页
XMLeXtensible Markup Language1998W3C(万维网联盟)存储/传输结构化数据
JSONJavaScript Object Notation2001(流行于2005年后)Douglas Crockford数据交换,前后端通信

🧱 二、他们长得像吗?

是的,三者都使用了“结构化的标记”或“对象形式”,但内容和目的是完全不同的!

示例对比:我们想表示一个用户的信息

✅ HTML(展示内容给人看)–超文本标记语言
<h1>用户信息</h1>
<p>姓名:小明</p>
<p>年龄:18</p>
✅ XML(结构化的数据,用给程序)–可扩展标记语言
<user><name>小明</name><age>18</age>
</user>
✅ JSON(轻量级数据,前后端通信)
{"name": "小明","age": 18
}

🔍 三、他们是干什么的?

项目HTMLXMLJSON
用来干嘛?构建网页,给人看存数据、传数据,给程序用前后端通信传数据
目标对象浏览器、人类系统、机器、开发者JavaScript、前端、后端
能不能显示页面?✅ 可以❌ 不行❌ 不行
可读性✅ 人能读✅ 稍复杂✅ 简洁易读
是否轻量❌ 偏重❌ 偏重✅ 超轻量
常用场景网页开发配置文件、旧系统数据交换Web 接口、前端开发

🚀 四、他们存在的意义是什么?

✅ HTML:网页的骨架和展示者

  • 是所有网页的基础
  • 决定了页面的结构和内容怎么展示
  • 搭配 CSS 和 JavaScript 构成完整的网页

✅ XML:数据传输时代的“统一语言”

  • 被设计用来替代各种杂乱无章的自定义格式
  • 可以自定义标签,结构清晰,机器可读
  • 在配置文件、办公文档、金融系统中仍在大量使用

✅ JSON:现代互联网的“数据快递”

  • 比 XML 更简单轻量
  • 和 JavaScript 配合天衣无缝,前端能直接读写
  • 几乎成为今天前后端通信的“标准格式”

🎯 五、它们之间是什么关系?

可以这么理解:

  • HTML 是网页展示的“容器”
  • XML 和 JSON 是网页背后传来的“内容”
  • 以前我们用 XML 装数据,现在用 JSON 装得更多,因为它更快更轻
  • HTML 不负责存数据,它只负责“怎么把内容展示出来”

比喻一下:

想象你点了一份外卖:

  • HTML 是你的餐盘和桌子 —— 把饭摆出来、呈现出来
  • XML 或 JSON 是送来的饭菜本身 —— 真实的数据和内容

📌 六、总结一张表搞清楚

特点/比较HTMLXMLJSON
是否用于展示✅ 是❌ 否❌ 否
是否用于存/传数据❌ 否✅ 是✅ 是
是否自定义标签❌ 否(固定)✅ 是❌(对象结构)
语法复杂度中等
是否人/机器都能读✅ 是✅ 是✅ 是(更轻)
使用频率(现代开发)✅ 高⬇ 减少✅ 非常高
常见在哪些地方网页结构配置、文档、老系统前后端接口,移动开发

🎉 七、最后一口气总结:

  • HTML 负责网页的“外貌”
  • XML 和 JSON 负责网页的“内容”
  • XML 是过去的数据格式标准,适合严谨的场景
  • JSON 是今天最流行的数据交换格式
  • 三者各有用途,配合使用,构成现代互联网的基础
http://www.lryc.cn/news/2392665.html

相关文章:

  • C++中IO文件输入输出知识详解和注意事项
  • centos7.6阿里云镜像各个版本介绍
  • InnoDB引擎逻辑存储结构及架构
  • KVM——CPU独占
  • 第4讲、Odoo 18 模块系统源码全解与架构深度剖析【modules】
  • pytorch简单线性回归模型
  • 在 HTML 文件中添加图片的常用方法
  • 四、web安全-行业术语
  • Kafka核心技术解析与最佳实践指南
  • Unity基础学习(十二)Unity 物理系统之范围检测
  • JVM 的垃圾回收机制 GC
  • TypeScript 针对 iOS 不支持 JIT 的优化策略总结
  • 00 QEMU源码中文注释与架构讲解
  • ansible template 文件中如果包含{{}} 等非ansible 变量处理
  • Screen 连接远程服务器(Ubuntu)
  • 路由器、网关和光猫三种设备有啥区别?
  • vscode实时预览编辑markdown
  • 2505软考高项第一、二批真题终极汇总
  • 云原生安全基础:Linux 文件权限管理详解
  • A类地址中最小网络号(0.x.x.x) 默认路由 / 无效/未指定地址
  • [嵌入式实验]实验二:LED控制
  • 6.4.2_3最短路径问题_Floyd算法
  • <PLC><socket><西门子>基于西门子S7-1200PLC,实现手机与PLC通讯(通过websocket转接)
  • day 33 python打卡
  • 开发时如何通过Service暴露应用?ClusterIP、NodePort和LoadBalancer类型的使用场景分别是什么?
  • 【机械视觉】Halcon—【六、交集并集差集和仿射变换】
  • 深度学习核心网络架构详解(续):从 Transformers 到生成模型
  • AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
  • allWebPlugin中间件VLC专用版之截图功能介绍
  • 【JavaSE】异常处理学习笔记