00

先看结论

  • JSON 是一种独立于编程语言的轻量文本数据交换格式,用于表示结构化数据,跨开放系统交换时必须使用 UTF-8,数值精度与嵌套深度可能受解析器限制。
  • 只想查看内容,可用文本编辑器打开;需要检查语法或读取结构,应使用 JSON 解析器。Windows 和 Mac 用户可从文本编辑器的“打开”对话框选择文件;手机用户可在明确支持文本或 JSON 的应用中,通过文件选择器打开。文件能显示为文字,不等于 JSON 语法正确。
  • 读取不可信 JSON 时应使用 JSON 解析器,避免 eval 或类似执行机制。JSON 语法本身不包含赋值和函数调用,但用执行代码的方式解析不可信输入会带来代码执行风险。解析成功也不能证明数据来源可信或内容真实。
01

JSON 文件是什么、怎么打开与转换

JSON 全称 JavaScript Object Notation,源自 ECMAScript 语法,支持对象、数组、字符串、数字、布尔值和 null。对象是无序的名称与值集合,数组是有序序列。IANA 登记的扩展名为 .json,媒体类型为 application/json,未定义固定魔数,因此不能仅凭固定文件头识别。

先把原文件留着

JSON 转 Excel 或其他表格格式前,应先决定嵌套对象和数组如何映射到列、行或独立表格。转换后核对大整数、高精度小数、重复键和数组顺序;读取或转换过程可能改变数值,也可能丢失重复键,不能仅凭表格能打开就认定数据完整。

02

怎么打开

只想查看内容,可用文本编辑器打开;需要检查语法或读取结构,应使用 JSON 解析器。Windows 和 Mac 用户可从文本编辑器的“打开”对话框选择文件;手机用户可在明确支持文本或 JSON 的应用中,通过文件选择器打开。文件能显示为文字,不等于 JSON 语法正确。

只想看看内容

只想查看内容,可用文本编辑器打开;需要检查语法或读取结构,应使用 JSON 解析器。Windows 和 Mac 用户可从文本编辑器的“打开”对话框选择文件;手机用户可在明确支持文本或 JSON 的应用中,通过文件选择器打开。文件能显示为文字,不等于 JSON 语法正确。

要发给别人

JSON 转 Excel 或其他表格格式前,应先决定嵌套对象和数组如何映射到列、行或独立表格。转换后核对大整数、高精度小数、重复键和数组顺序;读取或转换过程可能改变数值,也可能丢失重复键,不能仅凭表格能打开就认定数据完整。

03

文件安全

读取不可信 JSON 时应使用 JSON 解析器,避免 eval 或类似执行机制。JSON 语法本身不包含赋值和函数调用,但用执行代码的方式解析不可信输入会带来代码执行风险。解析成功也不能证明数据来源可信或内容真实。

这几种情况先别打开

来路不明、文件名带两个后缀,或者内容和扩展名对不上——先停下来核对。

04

转换格式

JSON 转 Excel 或其他表格格式前,应先决定嵌套对象和数组如何映射到列、行或独立表格。转换后核对大整数、高精度小数、重复键和数组顺序;读取或转换过程可能改变数值,也可能丢失重复键,不能仅凭表格能打开就认定数据完整。

转换之前

先复制一份原文件再转换,转完对照看看画质、元数据和排版有没有变。

05

常见问题

JSON 是什么格式,主要用来做什么?

JSON 是独立于编程语言的文本数据交换格式,用于在应用之间交换结构化数据。它支持对象、数组、字符串、数字、布尔值和 null;对象无序,数组有序。

Windows 怎么打开 JSON 文件?

在文本编辑器中选择“打开”,再选中 .json 文件即可查看文字内容。若要检查语法或按结构读取数据,应使用 JSON 解析器;显示出文字并不代表语法有效。

Mac 怎么打开 JSON 文件?

在 macOS 的文本编辑器中通过“打开”选择 JSON 文件,可查看其内容。需要确认语法或读取对象、数组等结构时,使用 JSON 解析器。

手机怎么打开 JSON 文件?

选择明确支持文本或 JSON 的应用,再通过应用内的文件选择器打开文件。可处理的文件大小和解析限制取决于应用,不能仅凭 .json 扩展名判断是否支持。

JSON 文件打不开时,如何检查语法错误?

根据解析器提示的位置检查引号、逗号、括号及值的写法。如果语法看似正确,还要检查编码、文件大小和嵌套深度限制;未配对的 UTF-16 代理项也可能导致解析结果不一致或运行时异常。

JSON 中文乱码怎么解决?

先确认读取时使用 UTF-8。跨开放系统交换的 JSON 必须使用 UTF-8,网络传输时不得添加字节顺序标记(BOM)。如果原始字节仍完整,按正确编码重新打开可能恢复显示;不能保证已损坏的数据可恢复。

JSON 和 JavaScript 代码有什么区别?

JSON 是源自 ECMAScript 语法的数据格式,JavaScript 代码则可以表达可执行操作。JSON 语法不包含赋值和函数调用;读取 JSON 应使用解析器,避免把内容当代码执行。

JSON 转 Excel 如何保留嵌套数据?

选择说明了嵌套对象和数组处理方式的转换工具,并先决定展开为列、展开为多行,还是拆成独立表格。转换后与原始 JSON 对照;能否保留结构取决于工具和映射方式。

JSON 大整数精度丢失怎么办?

检查读取和转换链路中每个工具支持的数值范围与精度。实现可以限制数字,超大整数或高精度小数可能在解析时改变。应对照原始文本核对结果;已经丢失的位数不能仅凭处理后的数值确定。

JSON 重复键会保留哪个值?

结果取决于实现:部分解析器只保留最后一个值,另一些会报错或保留全部。为避免跨应用读取时产生差异,应使用唯一的对象名称。

读取不可信 JSON 文件安全吗?

应使用 JSON 解析器,避免 eval 或类似执行机制。JSON 本身没有赋值和函数调用,但执行不可信输入可能运行代码。文件能正常解析,只说明通过了该解析器的检查,不能证明数据可信。

JSON 文件大小和嵌套深度有什么限制?

RFC 8259 允许解析器限制文本大小和嵌套深度,因此没有适用于所有应用的统一可打开大小。遇到限制时,应查阅所用解析器或应用的具体说明。

06

相关格式

资料来源

RFC 8259 — The JavaScript Object Notation (JSON) Data Interchange Format · IETF / RFC Editor,互联网标准

IANA Media Type Registration — application/json · IANA,官方媒体类型登记