一文读懂JSON:程序员都在用的数据“快递盒”

一文读懂JSON:程序员都在用的数据“快递盒”

一文读懂JSON:程序员都在用的数据“快递盒”

你有没有想过,手机里的外卖订单、社交软件的消息、购物APP的商品列表,这些数据是怎么在手机和服务器之间“跑”的?它们需要一个统一的“包装盒子”,才能让不同设备、不同编程语言都能看懂——JSON就是这个最流行的“快递盒”。今天咱们用大白话聊聊JSON,看完你也能轻松写一个!

一、JSON是什么?一句话说清

JSON的全称是“JavaScript对象表示法”(JavaScript Object Notation),但别被名字骗了——它不是JavaScript独有的,而是所有编程语言(Python、Java、PHP等)都能看懂的数据交换格式。就像英语是国际通用语言,JSON是数据的“国际通用语言”。

JSON 由道格拉斯・克罗克福德(Douglas Crockford) 主导设计和推广。他在 2001 年左右基于 JavaScript 的对象字面量语法提炼出这一数据交换格式,并于 2006 年推动其成为 IETF 标准(RFC 4627)。

核心特点:纯文本、体积小、易读易写,机器解析起来也特别快。

二、JSON的“打包规则”:键值对是核心

JSON的本质是键值对的集合,就像你整理行李时的“标签+物品”:标签(键)告诉别人这是什么,物品(值)就是具体内容。比如描述一个人的信息,用JSON写出来是这样的:


{
  "name": "张三",
  "age": 25,
  "isStudent": false,
  "hobbies": ["看电影", "打篮球", "敲代码"],
  "address": {
    "city": "北京",
    "street": "中关村大街"
  }
}

咱们拆解一下这个“行李清单”的规则:

  • 键(key):必须用双引号包裹,比如"name"、“age”,相当于“行李标签”;key也可以用中文,只要同样用双引号包裹即可,比如"姓名"、“年龄”,例如{"姓名": "张三", "年龄": 25}也是合法的JSON。不过通常为了方便程序将key解析为内部变量,一般不推荐使用中文等非拉丁字符作为key。

  • 值(value):可以是这6种类型,相当于“具体物品”:

    • 字符串(用双引号):比如"张三"、“北京”;

    • 数字(不用引号):比如25、99.9,正负整数和浮点数都可以;

    • 布尔值:只有true(是)或false(否),不用引号;

    • 数组(用[]包裹):多个值的列表,比如[“看电影”, “打篮球”];

    • 对象(用{}包裹):嵌套的键值对,比如address里又包含city和street;

    • null:表示“空值”,比如"girlfriend": null。

  • 分隔符规则:键与值之间用冒号“:”连接,不同键值对之间用逗号“,”分隔,且最后一个键值对后不能加逗号(否则可能导致解析错误)。

三、实用案例:用JSON描述“外卖订单”

光说不练假把式,咱们来模拟一个外卖APP的订单数据,这就是服务器传给你手机的真实JSON格式:


{
  "orderId": "Waimai20251010001",
  "userId": 123456,
  "orderTime": "2025-10-10 12:05:30",
  "totalPrice": 45.5,
  "isPaid": true,
  "goods": [
    {
      "goodsName": "香辣鸡腿堡",
      "price": 22,
      "quantity": 1
    },
    {
      "goodsName": "可乐(中杯)",
      "price": 5,
      "quantity": 2
    }
  ],
  "receiver": {
    "name": "李四",
    "phone": "13800138000",
    "address": "海淀区XX小区3号楼2单元501"
  }
}

你看,这个JSON包含了订单号、用户ID、下单时间、商品列表(数组)、收件人信息(对象),手机APP拿到这个“快递盒”后,就能解析出每一项数据,展示在你的屏幕上——是不是很直观?

四、为什么大家都爱用JSON?3个核心优势

1. 跨平台“无障碍沟通”

不管是前端的JavaScript、后端的Java/Python、移动端的iOS/Android,都能完美解析JSON。就像用英语交流,中国人、美国人、日本人都能听懂。

2. 体积小,传输快

对比另一种常见格式XML,JSON没有多余的标签,同样的数据用JSON包装,体积能小30%以上,手机刷外卖、刷视频时加载更快。

3. 人眼“友好型”格式

缩进清晰、结构简单,即使是新手也能快速看懂内容,不像某些二进制格式(比如protobuf),不开专门工具根本看不懂。

五、最后:动手试试写JSON吧!

其实JSON一点都不难,记住“键用双引号、值看类型、结构靠{}和[]”这三句话就行。你可以试着用JSON描述一下自己的“书架”:包含书名、作者、出版年份、价格、是否已读完,甚至可以加一个“推荐理由”数组。
以下内容供参考。

{
  "bookshelf": [
    {
      "title": "活着",
      "author": "余华",
      "publishYear": 1993,
      "price": 29.5,
      "isFinished": true,
      "re***mendationReasons": [
        "文字朴实却充满力量",
        "展现生命的韧性与意义",
        "引发对人生的深刻思考"
      ]
    },
    {
      "title": "三体",
      "author": "刘慈欣",
      "publishYear": 2008,
      "price": 39.8,
      "isFinished": true,
      "re***mendationReasons": [
        "科幻脑洞大开,构建宏大宇宙观",
        "融合科学与哲学思考",
        "中国科幻文学的里程碑之作"
      ]
    },
    {
      "title": "长安的荔枝",
      "author": "马伯庸",
      "publishYear": 2022,
      "price": 45,
      "isFinished": false,
      "re***mendationReasons": [
        "以小见大,展现职场生存智慧",
        "历史背景下的精彩故事",
        "情节紧凑,可读性强"
      ]
    }
  ]
}
转载请说明出处内容投诉
CSS教程网 » 一文读懂JSON:程序员都在用的数据“快递盒”

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买