写点什么

什么是 JSON:一个简洁易懂的入门指南

作者:Apifox
  • 2023-07-20
    广东
  • 本文字数:1977 字

    阅读完需:约 6 分钟

什么是 JSON:一个简洁易懂的入门指南

现在程序员还有谁不知道 JSON 吗?无论对于前端还是后端,JSON 都是一种常见的数据格式。那么 JSON 到底是什么呢?

JSON 的定义

JSON (JavaScript Object Notation) ,是一种轻量级的数据交换格式。它的使用范围很广,并成为 ECMA 标准,可以被使用在多种编程语言中,用于前后端之间的数据传输、存储和交换数据。可以说是“用更少的编码,有更快的处理速度”,所以深受广大程序员的喜爱。


JSON 格式的数据是由键值对组成的,其中键值对之间使用逗号分隔。在 JSON 中,键和值都必须使用双引号引起来。


一个简单的 JSON 对象例子:


{  "name": "Apifox",  "age": 2,  "city": "Guangzhou"}
复制代码

JSON 的含义和类型

JSON 用于 JavaScript,把任何 JavaScript 对象变成 JSON,即把这个对象序列化成一个 JSON 格式的字符串,然后通过网络传递给其他计算机。JSON 格式的字符串由双引号 “ ” 包裹,由键值对组成,键和值之间使用冒号 : 分隔,键值对之间使用逗号 , 分隔。值可以是字符串、数字、布尔、null、数组或对象等类型。


在 JSON 中,常见的数据类型有:


  • 字符串:JavaScript 中的string,用于表示文本信息,包含反斜杠 \ 转义。


{ "name": "Apifox" }
复制代码


  • 数字:JavaScript 中的number,用于表示数值信息,可以是整数或浮点数。


{  "id": 48,  "price": 17.95}
复制代码


  • 布尔值:JavaScript 中的boolean,用于表示真假信息。布尔值并不包含在引号内,而是被视为字符串值。


{ "allowLogin": false }
复制代码


  • null:JavaScript 的null,用于表示空值。


{ "address": null }
复制代码


  • 对象:JavaScript 的{ ... },表示方式用于表示有序的值的集合,每个值可以是任意类型。


{  "category" : {                 "id" : 675442 ,                  "name" : "小狐"         }}
复制代码


  • 数组:JavaScript 的Array,表示方式为[],用于表示无序的键值对集合,每个键值对都是由键名和对应的值组成。


{        "list" : [                 {                 "name" : "Lihua",                  "age" : 22,                 }
{ "name" : "Zhangsan", "age" : 25 } ] }
复制代码


下面是一个完整的 JSON 数据示例:


{  "name": "Simon",  "age": 2,  "isMale": true,  "hobbies": ["reading", "learning", "traveling"],  "address": {    "city": "Guangzhou",    "postCode": "510000"  },  "email": null}
复制代码

JSON 数据的使用场景

JSON 的应用非常广泛。它被用于前后端之间的数据传输,也被用于存储和交换数据。在 Web 开发中,JSON 通常被用来获取来自服务器的数据。这些数据可以被使用在网页上,以便实现动态的交互和更新页面内容。同时,JSON 也被广泛应用于移动应用程序、桌面应用程序以及各种互联网服务中。


相比于其它数据格式,JSON 具有以下优势:


  • 简洁易读:JSON 的语法比较简洁,易于阅读和编写。

  • 解析速度快:JSON 的解析速度通常比其他数据格式更快。

  • 兼容性好:JSON 和 JavaScript 的兼容性非常好,因为它们共享着相同的语法和数据结构。

JSON 与 XML

XML 是一种另外一种常见的数据格式(纯文本格式),也被广泛应用于数据交换。在 JSON 出现之前,大家一直用 XML 来传递数据。


但是相对于 JSON 而言,XML 规范比较复杂,JSON 的语法更加简洁,易于阅读和编写。且 JSON 的解析速度通常也比 XML 更快。同时,JSON 和 JavaScript 的兼容性非常好,因为它们共享着相同的语法和数据结构。


但是 XML 仍然是一种被广泛使用的数据格式,尤其在某些特定领域和场景下,它对于数据的描述更加严谨和准确,且支持更为复杂的数据结构和数据类型定义等。因此,在实际的编程和开发过程中,我们需要根据具体的场景和需要,选择合适的数据格式。

关于 JSON 的其他补充

除了上述内容,JSON 还有一些其他的相关内容:


  • JSONP:JSONP 是 JSON with Padding 的简称,是一种通过 script 标签跨域获取 JSON 数据的技术。

  • JSON Schema:JSON Schema 是一种用于验证和描述 JSON 数据的规范,它可以用于定义 JSON 数据的结构、格式和约束条件。

  • JSON Web Token(JWT) :JWT 是一种基于 JSON 的开放标准,用于在网络上安全地传输声明。它常被用于身份认证和授权场景中。


需要注意的是,JSON 虽然被广泛使用,但是它并不是一种完全安全的数据格式。在处理 JSON 数据时,需要注意防止 XSS 攻击和其他安全漏洞。因此,在使用 JSON 时,需要仔细考虑数据的来源和使用方式,以确保数据的安全性。

小结

JSON 作为一种轻量级的数据格式,具有更加简洁的语法和更好的解析速度。因此,学习如何使用 JSON 已经变成了现代编程的基本技能之一。JSON 数据格式也是常用于 API 接口传输数据的格式。

知识扩展:

上面我们了解了 JSON 数据格式,如果你想了解更多 API  相关使用技巧, 可以查看以下文章:


用户头像

Apifox

关注

Apifox 2022-05-17 加入

Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化平台。Apifox = Postman + Swagger + Mock + JMeter

评论

发布
暂无评论
什么是 JSON:一个简洁易懂的入门指南_Java_Apifox_InfoQ写作社区