首页 / 教程文章 / JSON 里的 null、缺失字段和空字符串:别再混淆

JSON 里的 null、缺失字段和空字符串:别再混淆

发布于 2026-08-23 09:00:00 · 0 阅读 · 标签:JSON,数据设计,接口,后端开发

null 是显式的「值为空」,字段缺失是「没有这个值」,空串是「值为空文本」。讲清三者在各语言解析中的差异与接口设计建议。

一、三种状态

三者语义完全不同:null 常表示「未知/不适用」,缺失常表示「未提供」,空串表示「明确填了空」。

二、各语言解析差异

三、接口设计建议

  1. 明确约定:可选字段「没值就别传」还是「传 null」,团队内统一,写进接口文档。
  2. 更新场景用 PATCH 语义:字段缺失=不修改,null=清空,空串=置为空文本。
  3. 数据库同理:NULL 与空串在 SQL 里是两种状态,查询条件 col = '' 不会命中 NULL,别混用。

四、容易翻车的场景

在线体验

不用装任何环境,直接用本站JSON 格式化校验工具在线操作,数据都在浏览器本地处理,方便又安全。

常见问题

null 和 undefined 哪个该出现在 JSON 里?

JSON 标准只有 null,undefined 是 JS 概念且序列化时字段会被丢弃。所以接口里的「空值」统一用 null,别指望传 undefined。

SQL 里 NULL = NULL 为什么是假?

SQL 的 NULL 表示「未知」,两个未知无法比较相等,结果也是未知(非真)。判断要用 IS NULL / IS NOT NULL。

接口字段该可空还是可省略?

列表筛选、部分更新场景:可省略=不动,null=清空。固定结构的数据(配置、详情)倾向字段齐全+null 表空。核心是写进文档、前后端一致。

更多文章