跳到正文
效率工具实用笔记关于本站
浏览器工具

浏览器看到JSON文本怎么办:认识网页与数据接口

约 6 分钟阅读AI 辅助整理

浏览器里出现一段花括号文本,先按资料能支持的范围确认它是不是JSON、能表示哪些类型,再记录结构。本文只讲资料支持的判断,不解释浏览器渲染机制,也不改任何系统设置。

本文要点

  1. 确认是JSON文本后,下一步看它里面有哪些值

  2. JSON不支持日期这类复杂类型,但资料给了一句补充:日期对象默认会转化为ISO格式的字符串,因此信息不会完全丢失

  3. 有几件事在确认之前不要做

浏览器看到JSON文本怎么办:认识网页与数据接口的知识要点示意图
依据已审核正文摘取要点制作的示意图,非实物照片;请结合正文中的条件与范围阅读。要点摘自已审核正文;完整条件与说明见正文。查看高清图解 ↗
本文目录

先按资料能确认的:JSON是一种数据交换格式

如果你在浏览器里打开一个地址,看到一段带引号和冒号的文本,先别急着判断页面坏了。按MDN的JSON词条,JSON(JavaScript对象表示法)是一种数据交换格式,虽然很多程序设计语言都支持它,它在基于JavaScript的软件中格外有用,包括网站和浏览器插件。

这句话能支持两件事。第一,JSON是给程序之间交换数据用的格式,不是给人阅读的排版页面。第二,它和JavaScript关系密切,所以在浏览器相关的软件里很常见。

资料没有说明浏览器为什么把JSON显示成原始文本,也没有说明渲染机制。所以本文不解释“浏览器拿到JSON后如何显示”这类过程,只讲资料能支持的判断:这段文本是不是JSON、它能表示哪些类型。

一个自建情境(示例,不是对某个真实网站的记录):你在练习目录里放一个自己写的JSON文件,用浏览器打开它,看到的是一段文本。这一步只用来观察文本长什么样,不据此推断浏览器行为。

适用范围:本文只讲怎么按资料确认JSON文本、它支持哪些数据类型,以及怎么记录结构。不涉及修改浏览器设置、不涉及系统层面的改动,也不教绕过任何访问限制。

JSON能表示哪些类型:数字、布尔值、字符串、null、数组、对象

确认是JSON文本后,下一步看它里面有哪些值。按MDN词条,JSON可以表示数字、布尔值、字符串、null、数组(值的有序序列),以及由这些值(或其他数组与对象)组成的对象(字符串与值的映射)。

这句话给的是六类可表示内容,可以逐项对照:

1. 数字。

2. 布尔值。

3. 字符串。

4. null。

5. 数组,资料解释为“值的有序序列”。

6. 对象,资料解释为“字符串与值的映射”。

资料同时说明,JSON本身不支持复杂的数据类型,括号里举的是函数、正则表达式、日期等。所以看到一段JSON时,能对照的就是上面这几类;遇到函数、正则、日期这类内容,资料说它们不是JSON本身支持的类型。

一个自建示例(练习数据,不是真实接口返回):

{
  "name": "练习项目",
  "version": 1,
  "tags": ["示例", "练习"],
  "enabled": true,
  "note": null
}

逐项对照:name是字符串,version是数字,tags是数组,enabled是布尔值,note是null。这个例子里最外层是一个对象,对象里放了这几种值。

需要说明的是,资料只说明JSON可表示对象和数组,没有断言最外层只能是这两种容器。所以本文不写“最外层只有两种”这类结论,只按资料说对象是字符串与值的映射、数组是值的有序序列。

日期和复杂类型:资料说会转成ISO格式字符串,信息不会完全丢失

JSON不支持日期这类复杂类型,但资料给了一句补充:日期对象默认会转化为ISO格式的字符串,因此信息不会完全丢失。

这句话能支持两点。第一,日期在JSON里不是日期类型,而是字符串。第二,转成ISO格式字符串后,信息不会完全丢失。资料还说明,如果需要JSON表示其他数据类型,可在序列化时或反序列化前转换值。

所以读到一段看起来像日期的字符串时,可以按资料理解为:它原本可能是日期对象,被转成了ISO格式的字符串。要按日期处理,需要在序列化时或反序列化前做转换。

资料没有提到反斜杠加u的转义序列,也没有提到序列化时对非ASCII字符的默认转义行为。所以本文不写中文被转义成\u形式这类内容,也不解释转义序列怎么还原。

适用范围:本节只讲资料对日期和复杂类型的说明,不涉及具体编程语言的日期库用法,也不涉及转义写法。

看到JSON文本时不要做的事

有几件事在确认之前不要做。

第一,不要因为页面显示的是数据文本,就去改浏览器或系统的设置。你看到的只是服务器返回的内容,改本地设置不会让数据变成网页。

第二,不要把这段文本当成网页源码去编辑。浏览器显示的是响应内容,不是可编辑的页面文件。

第三,不要凭一段JSON文本就断定接口有问题。它可能本来就是给程序调用的数据接口,返回JSON是正常行为。

第四,不要在来源不明的数据上执行任何脚本或命令。本文所有示例都只操作你自己创建的练习文件。

一个边界:文本内容能帮你判断类型和结构,但不能证明数据来源可信、内容准确。判断数据是否可用,还要看它的来源和用途。

把检查结果记成一份可复核的笔记

为了让判断可复核,建议把每次检查记成固定几栏,而不是只写一句“看到了JSON”。

可以按下面几项记录(以下为编辑整理的记录方法,不是官方格式):

1. 地址:这次打开的是什么地址。

2. 顶层成员:对象有哪些键,或数组有多少项。

3. 各成员类型:对照资料列出的数字、布尔值、字符串、null、数组、对象,逐项标注。

4. 复杂类型:有没有出现资料说JSON不支持的函数、正则、日期等内容,若有,记下它是以什么形式出现的。

这样记的好处是,下次再遇到类似情况,你能对照上次的记录,看出是结构变了,还是只是内容不同。

适用范围:本文只讲怎么确认JSON文本、它支持哪些类型,以及怎么记录检查结果。不涉及接口鉴权、请求方法、缓存和跨域等话题,也不提供任何系统改动方案。

观看知识要点视频 18 秒

18秒无旁白要点导览,文字来自已审核正文;完整步骤、条件及参考资料见下方。

参考资料

以下原始资料提供本文依据;请结合日期、适用条件和产品说明查阅。

请结合原始资料的适用条件阅读。

返回浏览器工具 →