2021-10-29


前言

在深度学习算法开发过程中,常常在数据集下载和读取的过程里遇到.json文件的要求,因此本文针对JSON进行了一些介绍,方便后续查阅,加深对JSON及其使用的理解。


提示:以下是本篇文章正文内容。

一、JSON是什么?

计算机网络之中常常需要一个系统把数据传输给另外一个系统,就如同一个人把消息传达给另一个人。当两个人交流的时候,我们需要一种共同的语言才能明白对方的意思,同样的,两个系统要正常交换数据,也需要预定义一种为双方计算机所接受的“语言“,这种语言我们称之为”数据交换语言“。

由于涉及在不同的系统不同的语言间交换数据,我们一般倾向于使用无关于平台及语言的数据交换语言,而JSON(JavaScript Object Notation)就是其中一种。作为一种轻量级的、易于编写和阅读的数据交换语言,JSON作为一种通用的资料格式得到了广泛使用。

二、JSON语法规则

1. 通用数据类型

从结构上看,所有的数据(data)最终可以分解成三种类型:

  • 标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如“cat”这个单独的词。
    -序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或者列表(list),比如[“cat”,“dog”]。
  • 映射(mapping),也就是一个名称(name)- 值(value)的映射,即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比如“animal”:“cat”。

因此只需要这些基本单元,就可以实现对数据的存储。那么JSON是如何定义这些基本单元的呢?

2.JSON基本数据类型及语法

  • 数值:十进制数,不能有前导0,可以为负数,可以有小数部分。还可以用e或者E表示指数部分。不能包含非数,如NaN。不区分整数与浮点数。
  • 字符串:以双引号""括起来的零个或多个Unicode码位。支持反斜杠开始的转义字符序列。
  • 布尔值:表示为true或者false。
  • 数组:有序的零个或者多个值。每个值可以为任意类型。序列表使用方括号[,]括起来。元素之间用逗号,分割。形如:[value, value]
  • 对象:若干无序的“键-值对”(key-value pairs),其中键是数值或字符串。建议但不强制要求对象中的键是独一无二的。对象以花括号{开始,并以}结束。键-值对之间使用逗号分隔。键与值之间用冒号:分割。
  • 空值:值写为null

所以可以看到,JSON就是在通用类型上对不同数据类型的定义进行了细化,数据类型简单、轻量,而且有着极高的可读性和泛用性。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了JSON是什么以及基本语法,更多内容可以参考链接。另外,借助JSON格式检验网站,你也可以轻松在线检验JSON代码格式的正确,同时能够得到相应的修改意见,如果你的代码没有问题,还会自动帮你排版为更易读的版式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值