近期在逛程序编写常见问题时,看到这种提出问题:如何把一个JSON数组类型的字符串转换为JSON二维数组,随后遍历数组取下JSON对象,最终在JS中取下里边的属性。在这儿给同样也有疑惑的好朋友做个解释,自然热烈欢迎高手留言区留有更加好的回应。
最先大家追根溯源问一下,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. 2个实质不同类型的物品为什么那么紧密
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循环
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。