news 2026/4/18 2:36:55

json的几种标准格式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
json的几种标准格式

JSON 的几种标准格式(以及最常见的实际使用变体)

JSON(JavaScript Object Notation)本身在官方标准(RFC 8259 / ECMA-404)中只有一种核心语法,但在实际使用中,因为不同的场景、约定、风格、工具链,衍生出了几种被广泛认可的“格式风格”。

下面按规范性 + 流行度排序,列出目前最常见的几种 JSON “格式”:

序号格式名称是否官方标准缩进风格键是否必须加引号主要使用场景代表性工具/生态推荐程度(2025-2026)
1标准紧凑格式(Compact)无缩进必须网络传输、API 返回、存储、日志几乎所有 JSON 库默认★★★★★(传输首选)
2标准美化格式(Pretty / Formatted)2 或 4 空格必须配置文件、调试、可读性优先jq、VS Code、Postman、浏览器 DevTools★★★★★(阅读首选)
3JSON5否(扩展)支持无引号键可选配置文件、手写 JSON、开发阶段json5 库、部分 IDE、Vite 配置★★★★☆(配置常用)
4JSONC(带注释)否(扩展)同标准必须配置文件(允许 // 和 /* */ 注释)VS Code settings.json、tsconfig.json★★★★☆(开发常用)
5HJSON否(扩展)更宽松可省略引号人类友好配置文件hjson 库(较小众)★★☆☆☆
6JSON Lines / NDJSON否(约定)每行一个对象必须日志、流式数据、大文件处理Logstash、Fluentd、Kafka、ClickHouse★★★★★(大数据/日志)
7GeoJSON是(RFC 7946)标准 JSON必须地理空间数据GIS 系统、地图服务领域专用
8JSON-LD是(W3C)标准 JSON必须语义网、结构化数据、SEOSchema.org、Google 搜索领域专用

最常用的几种格式示例对比

1. 标准紧凑格式(Compact JSON)
{"id":123,"name":"张三","age":28,"isActive":true,"tags":["java","python"],"address":{"city":"上海","zip":200000}}
2. 标准美化格式(Pretty JSON)—— 2空格 / 4空格 都常见
{"id":123,"name":"张三","age":28,"isActive":true,"tags":["java","python"],"address":{"city":"上海","zip":200000}}
3. JSON5(开发配置中最受欢迎的扩展)
{ // 支持单行注释 id: 123, // 键可以不加引号(合法标识符) name: "张三", age: 28, isActive: true, // 支持尾随逗号 tags: [ "java", "python", "golang", // ← 最后一个逗号合法 ], address: { city: '上海', zip: 200000, note: '可以单引号' } }
4. JSONC(带注释 JSON)
{"id":123,"name":"张三",// 这里是单行注释"age":28,/* 这是块注释 */"tags":["java","python"]}
5. JSON Lines / NDJSON(每行一个独立 JSON 对象)
{"id":1,"name":"张三","time":"2025-01-01"} {"id":2,"name":"李四","time":"2025-01-02"} {"id":3,"name":"王五","time":"2025-01-03"}

快速决策表(你应该用哪种?)

场景强烈推荐格式为什么常见工具/库支持情况
HTTP API 返回紧凑 JSON体积小、解析快所有语言都原生支持
调试 / 日志查看美化 JSON(2或4空格)可读性第一jq、python -m json.tool
配置文件(手写)JSON5 或 JSONC允许注释、尾随逗号、无引号键VS Code 原生支持 JSONC
大规模日志 / 数据管道JSON Lines / NDJSON可逐行读取、不需要一次性加载全部fluentd、logstash、spark
需要人类长期维护的配置JSON5最接近 JavaScript 对象字面量json5 库、部分前端构建工具
安全敏感、不可信来源标准 JSON(紧凑或美化)拒绝任何扩展语法,最高兼容性

小结口诀(背下来就够用)

  • 传网路上→ 紧凑(Compact)
  • 给人看→ 美化(Pretty)
  • 自己写配置→ JSON5 / JSONC
  • 日志流式→ JSON Lines / NDJSON
  • 安全第一→ 只认标准 JSON

你现在最常遇到的是哪一种 JSON 格式的使用困惑?

  • API 返回格式太大了想压缩?
  • 配置文件想加注释?
  • 日志系统要处理海量 JSON?
  • 还是想知道怎么在代码里优雅输出美化 JSON?

告诉我具体场景,我可以给你对应的代码示例或工具推荐。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/6 18:05:56

Comsol金属SRR Anapole完全教学

Comsol金属SRR Anapole完全教学。 COMSOL里玩Anapole现象就像在微波炉里观察奶油融化——看起来玄乎,上手其实不难。今天咱们用金属SRR(开口谐振环)结构来实现这个特殊电磁响应,重点在于如何通过参数化建模精准捕捉非辐射特性。 …

作者头像 李华
网站建设 2026/4/8 20:07:13

cycler复数形式是什么?cyclers用法解析

对于英语学习者来说,掌握名词的复数形式是基础却常遇挑战的一环,而像“cycler”这类非高频词的变化规则,往往会让许多人感到困惑。本文将从实际应用出发,帮你理清“cycler”的复数变化及其背后的逻辑,避免在写作或口语…

作者头像 李华
网站建设 2026/4/16 19:49:59

Vue—— Vue3 + Node.js 后台管理系统 之 【表格组件性能优化】

背景问题 在展示大量数据时,表格组件可能会出现性能问题,如渲染缓慢、内存占用高等。 方案思考 如何优化大数据量的表格渲染如何实现虚拟滚动如何减少不必要的重渲染 具体实现 虚拟滚动实现: // utils/tablePerformance.ts - 表格性能优化 im…

作者头像 李华
网站建设 2026/4/16 19:08:03

软件测试公众号爆款内容解析:专业洞察与AI应用

在2026年的数字化浪潮中,软件测试从业者面临内容爆炸的挑战——公众号文章如何脱颖而出?本文从专业角度解析热度最高的内容类型,结合AI技术,助您高效创作爆款。热点内容往往聚焦实用价值、行业痛点和创新工具,而AI正成…

作者头像 李华
网站建设 2026/4/12 0:16:58

【项目实战】DDL 和 DML 核心概念与核心区别:改“表长什么样”用 DDL,改“表里有什么数据”用 DML。

DDL 和 DML 核心概念与区别 首先用通俗的比喻帮你理解: DDL(Data Definition Language,数据定义语言):相当于“建房子的施工图纸和施工操作”,负责定义/修改数据库的结构(比如数据库、表、索引的结构),不涉及具体的数据内容。 DML(Data Manipulation Language,数据…

作者头像 李华