傻傻弄不清楚的JSON?

简介: 傻傻弄不清楚的JSON?

作为一名开发人员,我们时常跟JSON打交道,但对于JSON却有这不少的疑惑,但平常也就是停留在使用的角度上。今天我们就来走进JSON。 我们首先引入两个问题,这两个问题将帮助我们理解JSON。

  • 什么是JSON?
  • 为什么需要JSON或者JSON能帮助我们做什么?

第一个问题的答案就隐藏在JSON的名字当中,JSON: JavaScript Object Notation. 我们重点关注Notation这个词,前两个词我们很熟悉。 Notation: 符号,记号,谱号。 我们是否可以将JSON理解为JavaScript对象的符号形式呢? 带着这个疑问,我查看了JSON的官网:image.png

请注意标红的部分,这是关键。我们在强调一遍,一种轻量级的数据交换格式。

根据以上的求索,我们可以对JSON做出以下论断:

  • JSON是JavaScript对象的表示形式
  • JSON是一种轻量级的数据交换形式

从JSON的官网可以看到JSON有两种结构:

"名称/值"对的集合,好怪的说法啊,JSON脱胎于JavaScript,简单的说,JSON就是JavaScript的对象和数组。 那么JSON是JavaScript的对象吗?并不是,说JSON是JavaScript的对象和数组只是为了方便理解JSON而已,JavaScript Object Notation, JavaScript Object Notation,我们强调两遍,Notaiton在牛津字典的解释是 a system of signs or symbols used to  represent information---即一种代表某种信息的符号。叫 JavaScript Object Notation的原因也许是JSON的作者道格拉斯同志在设计JSON时参考了JavaScript Object的对象语法而已。 JSON的形式:


接下来,我们从数据交换形式的角度来解释JSON,数据交换是谁和谁做交换呢? web客户端和服务端吧。在前后端分离的大势,JSON是前段和后端的一种数据交换形式,不仅仅是前后端的一种数据交换形式,还是系统之间进行数据交换的一种形式。

为什么需要JSON呢? 那就要请出XML同志了,在没有JSON同志之前,都使用XML进行数据交换,但是XML并不简单,有着各种各样的数据约束,越搞越复杂,我们希望数据交换形式尽可能的简单一些,不想再去了解那些让人头痛的那一大堆的复杂规范。

相关文章
|
6月前
|
JSON 前端开发 JavaScript
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(上)
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(上)
111 0
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(上)
|
6月前
|
存储 JSON NoSQL
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(下)
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(下)
103 0
|
6月前
|
JSON JavaScript 前端开发
小白一眼就能懂的JSON简介与基本使用指南
小白一眼就能懂的JSON简介与基本使用指南
|
6月前
|
JSON JavaScript 前端开发
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(中)
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(中)
|
JSON JavaScript 前端开发
JavaWeb 速通JSON
JavaWeb——JSON 内容分享。
70 0
|
1天前
|
JSON JavaScript 前端开发
Go语言中json序列化的一个小坑,建议多留意一下
在Go语言开发中,JSON因其简洁和广泛的兼容性而常用于数据交换,但其在处理数字类型时存在精度问题。本文探讨了JSON序列化的一些局限性,并介绍了两种替代方案:Go特有的gob二进制协议,以及msgpack,两者都能有效解决类型保持和性能优化的问题。
26 7
|
26天前
|
存储 JSON 前端开发
面试官问了我很多package.json的知识,还好我早有准备!
【10月更文挑战第18天】面试官问了我很多package.json的知识,还好我早有准备!
|
5月前
|
XML JSON 前端开发
老程序员分享:JSON数据格式
老程序员分享:JSON数据格式
53 0
|
JSON 分布式计算 自然语言处理
为啥 JSON 之父要建议:退役 JavaScript
为啥 JSON 之父要建议:退役 JavaScript
|
前端开发 开发工具 git
一篇文章讲清楚关于package.json几点让人迷惑的知识点,建议收藏
一篇文章讲清楚关于package.json几点让人迷惑的知识点,建议收藏