首先我们追本溯源问一下,JSON究竟是什么东西?为什么JSON便是易于数据交流?本文将从以下几个方面去理解JSON:
首先是对“JSON是一种轻量的数据交流格式”的理解;
然后来看常常被混为一谈的JSON和JS工具的差异;
json字符串转换成json数组并遍历属性值;
什么是JSON?
JSON是一种轻量级的数据交流格式。
如果没有去过JSON的官方先容可以去一下这里,官方先容已经很清楚地表述了JSON是什么,我将JSON是什么提炼成以下几个方面:
1. 一种数据格式
什么是格式?便是规范你的数据要怎么表示,举个栗子,有个人叫“二百六”,身高“160cm”,体重“60kg”,现在你要将这个人的这些信息传给别人或者别的什么东西,你有很多种选择:
以上所有选择,通报的数据是一样的,但是你可以看到形式是可以各式各样的,这便是各种不同格式化后的数据,JSON是个中一种表示办法。
2. 基于文本的数据格式
JSON是基于文本的数据格式,相对付基于二进制的数据,以是JSON在通报的时候是通报符合JSON这种格式(至于JSON的格式是什么我们第二部分再说)的字符串,我们常会称为“JSON字符串”。
3. 轻量级的数据格式
在JSON之前,有一个数据格式叫xml,现在还是广泛在用,但是JSON更加轻量,如xml须要用到很多标签,像上面的例子中,你可以明显看到xml格式的数据中标签本身霸占了很多空间,而JSON比较轻量,即相同数据,以JSON的格式霸占的带宽更小,这在有大量数据要乞降通报的情形下是有明显上风的。
4. 被广泛地用于数据交流
轻量已经是一个用于数据交流的上风了,但更主要的JSON是易于阅读、编写和机器解析的,即这个JSON对人和机器都是友好的,而且又轻,独立于措辞(由于是基于文本的),以是JSON被广泛用于数据交流。
以前端JS进行ajax的POST要求为例,后端PHP处理要求为例:
前端布局一个JS工具,用于包装要通报的数据,然后将JS工具转化为JSON字符串,再发送要求到后端;后端PHP吸收到这个JSON字符串,将JSON字符串转化为PHP工具,然后处理要求。可以看到,相同的数据在这里有3种不同的表现形式,分别是前真个JS工具、传输的JSON字符串、后真个PHP工具,JS工具和PHP工具明显不是一个东西,但是由于大家用的都是JSON来通报数据,大家都能理解这种数据格式,都能把JSON这种数据格式很随意马虎地转化为自己能理解的数据构造,这就方便啦,在其他各种措辞环境中交流数据都是如此。
常常被混为一谈的JSON和JS工具
很多时候都听到“JSON是JS的一个子集”这句话,而且这句话我曾经也一贯这么认为,每个符合JSON格式的字符串你解析成js都是可以的,直到后来创造了一个奇奇怪怪的东西...
1. 两个实质不同的东西为什么那么密切
JSON和JS工具实质上完备不是同一个东西,就像“斑马线”和“斑马”,“斑马线”基于“斑马”身上的条纹来呈现和命名,但是斑马是活的,斑马线是非生物。
同样,\"大众JSON\"大众全名\"大众JavaScript Object Notation\"大众,以是它的格式(语法)是基于JS的,但它便是一种格式,而JS工具是一个实例,是存在于内存的一个东西。
说句玩笑话,如果JSON是基于PHP的,可能就叫PON了,形式可能便是这样的了['propertyOne' => 'foo', 'propertyTwo' => 42,],如果这样,那么JSON可能现在是和PHP比较密切了。
此外,JSON是可以传输的,由于它是文本格式,但是JS工具是没办法传输的,在语法上,JSON也会更加严格,但是JS工具就很松了。
那么两个不同的东西为什么那么密切,由于JSON毕竟是从JS中演化出来的,语法附近。
2. JSON格式别JS工具语法表现上严格在哪
先就以“键值对为表现的工具”形式上,比拟下两者的不同,至于JSON还能以若何的形式表现,比拟完后再罗列。
可以看到,相对付JS工具,JSON的格式更严格,以是大部分写的JS工具是不符合JSON的格式的。
json字符串转换成json数组并遍历属性值办法一:利用Iterator迭代器遍历取值
方法二:利用for循环
对编程感兴趣,想理解更多的编程知识,关注头条号一起玩转编程
更多编程资讯、干货持续更新中~