Skip to content

JSON 格式

前言

这可太常见了,而且十分简单,你确定不看看?🤨

简介

JSON(JavaScript Object Notation)是一种轻量级的文本数据交换格式,JSON 具有自我描述性,易于理解和解析。在现代 Web 开发中,它已经成为数据交换的事实标准。广泛应用于前后端数据传输、配置文件、API 接口等领域,后缀为 json

特点

  • 轻量级:JSON 数据格式简洁,体积小,传输速度快。
  • 易读性:JSON 数据具有良好的可读性,结构清晰。
  • 易解析:JSON 数据可以被多种编程语言解析和生成。
  • 语言无关性:独立于任何编程语言,支持多种语言的解析和生成。

基础语法

  • 键值对:键和值通过冒号分隔,键必须是字符串,值可以是 json 类型。
  • 逗号分隔:多个键/值对之间用逗号分隔,禁止尾随逗号。
  • 大括号对象/中括号数组:对象用大括号 {} 包裹;数组用中括号 [] 包裹。
  • 单引号非法:键与字符串必须用双引号包裹。
  • 注释与编码:标准 JSON 不支持注释,且确保UTF-8编码。
JSON5

JSON5 是 JSON 的超集,增加了许多新特性,使其比 JSON 更加灵活和易读:

  • 注释:支持单行和多行注释。
  • 尾随逗号:对象和数组的最后一个键值对或元素后面可以有逗号。
  • 字符串:字符串可以用单引号或反引号,可以包含转义字符,并且可以跨多行。
  • 数字:支持十六进制、以点开头或结尾的数字、正无穷、负无穷和 NaN,以及以加号开头的数字。
  • 空格:允许多余的空格。

数据类型

  1. 数字:整数或浮点数。
  2. 字符串:在双引号中。
  3. 布尔值truefalse
  4. 数组:在中括号中,可以包含任意类型的值。
  5. 对象:在大括号中,可以包含多个键/值对。
  6. null:表示空值。
json
{
  "user": {
    "id": 1001,
    "name": "林薇",
    "tags": ["开发者", "设计师"],
    "active": true,
    "profile": null,
    "contact": {
      "email": "linwei@example.com",
      "phones": ["138****5678", "010-****9900"]
    }
  }
}

JSON vs. XML

特性JSONXML
体积大(标签冗余)
解析简单(直接转对象)复杂(需 DOM/SAX)
可读性中等
数据类型原生支持(数字、布尔、数组)全部为字符串
浏览器支持原生需解析器

写在最后

JSON 虽诞生于 JavaScript,但已完全独立。且被绝大多数编程语言支持,也成为现代web开发中默认传输格式。

是不是灰常简单😁

参考三三

如有转载或 CV 请标注本站原文地址