什么是json:一切你需要知道的
关于json的6个事实
- 根据其创造者的说法,json的发音类似于名字jason。然而,大多数人会强调字母j,并将“son”的发音类似于“monster”中的“mon”。
- json是一个国际标准,由两个不同的标准组织(iso和ecma)定义。
- json的原型是在2000年初为一个名为cartoon orbit的虚拟卡片游戏创建的。
- json代表javascript对象表示,但它是一种与语言无关的数据格式。
- json文件使用.json文件扩展名。
- json不支持注释。
什么是json:解释
json是一种仅限文本的格式,用于存储和交换数据。该格式最初由douglas crockford在他的公司state software于2000年和2001年创建。从那时起,它成为存储需要由javascript程序或其他类型的软件访问的数据的非常流行的格式。它的流行程度反映在它现在由几个国际标准(包括iso/iec 21778:2017和rfc 8259)定义。
json之所以有用,其核心在于它的极端简洁性。与xml和其他一些格式不同,json语法非常简洁,json对象中的数据可以轻松解析为任何数量的编程应用程序中的数据。基本上,所有json对象都是字符串,其中定义属性然后赋予值。除了字符串,json还支持数字、其他json对象、数组、布尔值(参见george boole的传记)和null值。不允许使用函数、日期和其他未定义的数据类型。
简要事实
- 创建者(人)
- douglas crockford
- 发布日期
- 01/03/2001
- 开发公司
- state software
json对象可以在任何文本编辑器中编写,并可以在任何打开文本文件的文件查看器中查看。一旦保存,json文件可以被使用特定于语言的解析函数的编写的程序使用,以检索和存储数据。
douglas crockford,json的创建者。json是一种仅限文本的格式,用于存储和交换数据。
如何使用json
json很容易使用。首先,在您选择的文本编辑器中创建一个空文件。
要创建一个有效的json对象,您只需要表示您要表示的数据的属性和值。对于这个示例,我们将使用关于javascript的数据。
- 名称:javascript
- 发布日期:1995年
- 类型:语言
- 创建者:brendan eich
这个数据可以表示为json如下:
{"name":"javascript","release date":"1995","type":"language","creator":"brendan eich"}
需要注意的是,javascript不支持日期。在上面的示例中,日期是由引号括起来的字符串。
尽管不支持日期,但并不是所有的值都需要是字符串。json对象还可以存储数字、其他json对象、数组和布尔值(参见george boole的传记),以及null值。这些数据类型在使用json时不应放在引号中,否则它们将被解释为字符串。
数组使用方括号定义,可以包含json支持的任何类型的数据(数字、字符串、数组、json对象、布尔值或空值)。以下是一个带有数组的json对象示例:
{"names":["john", "judy", "ping", "akiko"]}
访问json文件的方法因编程语言和环境而异。要确定如何最好地存储和访问它们,请参阅所使用语言的文档。
如何学习json
由于json在许多语言中都有广泛应用,学习json可以提升您的计算机编程能力。
幸运的是,json很容易学习。语法简单明了,尤其是如果您已经了解javascript的话。即使对于那些从未需要在javascript中使用对象(或根本不使用javascript)的人来说,json也很容易掌握,因为您实际上只需要学习几个简单的规则。
学习json的主要内容是学习如何在您选择的编程语言中使用它。虽然几乎所有编程语言都支持json,但每种语言的实现略有不同。这意味着要真正精通json,您不仅需要学习格式的语法,还需要学习如何在使用数据的语言中解析它。
有许多免费的在线json教程和许多深入探讨该主题的书籍。以下是其中一些最好的教程:
- w3 schools上的学习json
- mozilla上的学习json
- 《json简介》(o’reilly books) 作者:lindsay bassett
- 《json快速语法参考》(apress books) 作者:wallace jackson
视频快速简单地解释了json的基础知识。json是最受欢迎的数据表示格式之一,也是您可以在编程中学习的最重要且最简单的概念之一。它允许您创建api、配置文件和结构化数据。
json发布历史
json于2001年首次发布,其语法自那时以来没有改变。作为一种数据格式而不是编程语言,它也没有类似于“发布历史”的概念。然而,有几个标准定义了该格式及其使用方式。
rfc 4627
2006年,互联网工程任务组(ietf)发布了一份名为rfc 4627的文档,描述了json的基本功能、编码、解析功能和安全考虑事项。
ecma 404
2013年发布的ecma 404是第一个正式定义json语法的官方标准。
2017年12月发布了ecma 404标准的第二版。
iso/iec 21778:2017
2017年,国际标准化组织(iso)和国际电工委员会(iec)发布了iso/iec标准21778:2017,以定义json的语法。
json和yaml的区别
json只是许多不同数据交换格式之一,包括xml、rss和其他格式。另一个常用格式yaml与json非常相似,以至于所有有效的json文件也是有效的yaml文件。
json和yaml之间有几个重要的区别,主要基于yaml支持但json不支持的内容。其中最重要的几点如下:
- yaml支持注释,而json不支持
- json字符串需要引号,而yaml字符串不需要
- yaml支持映射和锚点,而json不支持
尽管yaml拥有更多的功能,但由于其简洁的特性和简单性,json仍然是一种非常有用的格式。