JSON1

JSON 完全指南

深入了解 JSON (JavaScript Object Notation):现代数据交换的标准格式

什么是JSON?

JSON (JavaScript Object Notation) 是一种轻量级的、基于文本的数据交换格式。 尽管名称中包含“JavaScript”,但JSON实际上是一种语言无关的数据格式, 几乎所有现代编程语言都原生支持JSON的解析和生成。

核心特性

人类可读

清晰的文本格式,直观的键值对结构

机器友好

语法规则简单,解析速度快

语言无关

所有主流编程语言都支持

轻量级

相比XML更简洁,传输量更小

JSON语法规则

JSON基于两种结构:

  • 对象:名称/值对的集合(类似于字典、哈希表)
  • 数组:值的有序列表(类似于数组或向量)

基本语法示例

{
  "name": "张三",
  "age": 30,
  "isActive": true,
  "address": {
    "city": "北京",
    "zipCode": "100000"
  },
  "hobbies": ["编程", "阅读", "旅游"],
  "spouse": null
}

数据类型详解

1. 字符串 (String)

用双引号包围的零个或多个Unicode字符

"Hello World", "你好", "123", ""

2. 数字 (Number)

十进制数字,支持整数和浮点数

42, -17, 3.14159, 0, 1.0e+2

3. 布尔值 (Boolean)

逻辑值,只有两个可能的值

true, false

4. 空值 (null)

表示空值或不存在的值

null

5. 对象 (Object)

键值对的无序集合

{ "key": "value", "number": 123 }

6. 数组 (Array)

值的有序集合

[1, 2, 3], ["a", "b", "c"], [true, false, null]

应用场景

Web APIs

现代Web API的标准数据格式,用于客户端和服务器之间的数据交换。

{
  "status": "success",
  "data": {
    "users": [
      {
        "id": 1,
        "username": "admin"
      }
    ]
  }
}

配置文件

许多应用程序使用JSON作为配置文件格式。

{
  "database": {
    "host": "localhost",
    "port": 3306
  },
  "logging": {
    "level": "info"
  }
}

数据存储

广泛用于数据存储、缓存和网络传输。NoSQL数据库如MongoDB原生支持JSON格式。

AJAX通信

在Web开发中,JSON是AJAX请求的首选数据格式,用于异步数据交换。

最佳实践

✅ 推荐做法

  • • 使用有意义的键名:"firstName" 而不是 "fn"
  • • 保持一致的命名约定:驼峰命名法或下划线
  • • 使用适当的数据类型:数字用数字类型,布尔值用布尔类型
  • • 避免深度嵌套,保持结构扁平化
  • • 使用数组来表示列表数据

❌ 避免的做法

  • • 使用单引号:JSON必须使用双引号
  • • 添加注释:标准JSON不支持注释
  • • 使用undefined:JSON不支持undefined值
  • • 键名不加引号:所有键名必须用双引号包围
  • • 末尾添加逗号:JSON不允许尾随逗号

常见错误

语法错误

❌ 错误示例

{
  'name': 'John',  // 单引号
  age: 30,         // 键名没有引号  
  "city": "NYC",   // 尾随逗号
}

✅ 正确示例

{
  "name": "John",
  "age": 30,
  "city": "NYC"
}

字符编码问题

JSON必须使用UTF-8编码。确保特殊字符正确转义,如反斜杠需要写成 \\\\

JSON工具推荐

本站提供的JSON工具

格式化

美化JSON结构,提高可读性

验证

检查JSON语法正确性

压缩

移除空白字符,减少文件大小

转换

JSON与XML、CSV格式互转

转义

处理转义字符串

可视化

树形结构展示

其他语言版本