返回列表
JSON语法完全指南
自由客七维 2026-03-16 19:00 30

什么是JSON?

JSON(JavaScript Object Notation)是一种基于文本的轻量级数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它完全独立于编程语言,但使用类似C语言家族的约定(如C、C++、C#、Java、JavaScript、Python等)。

JSON 数据类型

类型描述示例
字符串由双引号包围的Unicode字符序列,支持转义字符。"Hello World""\"引号\""
数字整数或浮点数,支持科学计数法。423.141.2e5
布尔值truefalsetrue
null表示空值。null
对象无序的键值对集合,键必须为字符串,值可为任意类型,用花括号 {} 包裹。{"name": "张三", "age": 25}
数组有序的值列表,用方括号 [] 包裹,元素用逗号分隔。["苹果", "香蕉", 123, true]

JSON 语法规则

  • JSON 数据必须是一个对象({})或数组([])结构。
  • 键名必须用双引号包裹(不能使用单引号或无引号)。
  • 字符串值必须用双引号包裹。
  • 最后一个键值对或数组元素后不能有逗号。
  • 不支持注释(如 ///* */)。
  • 数字不允许有前导零(如 01 非法)。
  • Unicode 字符允许直接出现(如中文),也可用 uXXXX 转义。

常见错误及解决方法

错误类型示例解决方法
缺少双引号{name: "张三"}将键名加上双引号:{"name": "张三"}
多余逗号["a", "b",]删除最后一个逗号:["a", "b"]
字符串未闭合"Hello补全双引号:"Hello"
单引号代替双引号'value'改为双引号:"value"
布尔值大小写错误True使用小写:true
数值包含前导零0123去掉前导零:123(若需要保留则用字符串)

JSON 与 XML 对比

  • 简洁性:JSON 没有结束标签,更轻量。
  • 解析速度:JSON 解析通常比 XML 更快。
  • 数据类型:JSON 原生支持多种数据类型,XML 数据均为字符串。
  • 可读性:两者均易读,但 JSON 结构更接近现代编程语言的对象。

最佳实践

  • 始终使用双引号包裹键和字符串值。
  • 保持数据结构的层次清晰,避免过度嵌套。
  • 对于大量数据,考虑压缩(去除空白)以节省带宽。
  • 使用工具(如本JSON格式化工具)校验和美化JSON,减少手工错误。