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

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


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

名称 全称 诞生时间 谁发明的 用途
HTML HyperText Markup Language 1991 Tim Berners-Lee(万维网之父) 构建网页
XML eXtensible Markup Language 1998 W3C(万维网联盟) 存储/传输结构化数据
JSON JavaScript Object Notation 2001(流行于2005年后) Douglas Crockford 数据交换,前后端通信

🧱 二、他们长得像吗?

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

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

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

🔍 三、他们是干什么的?

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

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

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

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

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

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

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

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

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

可以这么理解:

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

比喻一下:

想象你点了一份外卖:

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

📌 六、总结一张表搞清楚

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

🎉 七、最后一口气总结:

  • HTML 负责网页的"外貌"
  • XML 和 JSON 负责网页的"内容"
  • XML 是过去的数据格式标准,适合严谨的场景
  • JSON 是今天最流行的数据交换格式
  • 三者各有用途,配合使用,构成现代互联网的基础
相关推荐
阿华的代码王国6 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Justinc.8 小时前
HTML5新增属性
前端·html·html5
挽淚9 小时前
HTML5语义化标签和“<div>的一招鲜吃遍天”
html
JuneXcy11 小时前
11.web api 2
前端·javascript·html
全栈老石16 小时前
设计师到前端不再有墙:Figma + VS Code 自动出码实践
前端·vue.js·html
全宝16 小时前
【前端特效系列】css+js实现聚光灯效果
javascript·css·html
遗悲风17 小时前
html抽奖功能
前端·html
LilyCoder19 小时前
HTML5二十四节气网站源码
前端·javascript·html·html5
rannn_1111 天前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
DavieLau1 天前
C#项目WCF接口暴露调用及SOAP接口请求测试(Python版)
xml·服务器·开发语言·python·c#