首页 > 编程知识 正文

如何遍历json对象(js遍历json数组对象)

时间:2023-05-03 23:36:12 阅读:102411 作者:1023

最近在访问编程问答的时候,看到这样一个问题:如何将一串JSON数组类型转换成JSON数组,然后遍历数组取出JSON对象,最后取出JS中的属性。在这里,我会给有同样问题的朋友一个答案。当然欢迎大神留言区留下更好的答案。

首先我们回到源头,问一问,什么是JSON?为什么JSON很容易交换数据?本文将从以下几个方面来理解JSON:

一是对“JSON是轻量级数据交换格式”的理解;

然后看JSON和JS对象的区别,经常混淆;

Json字符串转换成json数组,遍历属性值;

什么是JSON?

JSON是一种轻量级的数据交换格式。

如果你没有去过JSON的官方介绍,可以去这里。官方介绍已经明确说明了什么是JSON。我将把什么是JSON细化到以下几个方面:

1.数据格式

什么是格式?就是标准化如何表达你的数据。以栗子为例。有一个叫“260”的人,身高“160厘米”,体重“60公斤”。现在你要把这个人的信息传给别人或者别的什么。你有很多选择:

以上所有的选择,传输的数据都是一样的,但是可以看到形式可以是多种多样的,也就是各种格式化的数据,JSON就是其中的一种表示。

2.基于文本的数据格式

JSON是一种基于文本的数据格式,与基于二进制的数据相比,因此在交付JSON时,它是一个符合JSON格式的字符串(我们将在第二部分中讨论JSON的格式),这通常被称为“JSON字符串”。

3.轻量级数据格式

在JSON之前,有一种叫做xml的数据格式,现在仍然被广泛使用,但是JSON更轻。例如,xml需要很多标签。如上例,可以清楚地看到,标签本身在xml格式的数据中占据了很大的空间,而JSON则更轻,即同样的数据在JSON格式中占用的带宽更少,在有大量数据请求和传输的情况下优势明显。

4.广泛用于数据交换

轻量级已经是数据交换的一个优势,但更重要的是,JSON易于机器读写和分析,也就是对人和机器友好,而且轻量级且独立于语言(因为是基于文本),所以JSON被广泛用于数据交换。

以ajax的前端JS POST请求为例,后端PHP处理请求为例:

前端构造一个JS对象封装待传输的数据,然后将JS对象转换成JSON字符串,再将请求发送给后端;后端PHP接收这个JSON字符串,将JSON字符串转换成PHP对象,然后处理请求。

可以看到,这里同样的数据有三种不同的形式,前面是JS对象,传输中是JSON字符串,后面是PHP对象。JS对象和PHP对象显然不是一回事,但是既然大家都用JSON来传输数据,那么大家都可以理解这种数据格式,并且可以很容易地将JSON数据格式转换成自己可以理解的数据结构,这很方便,其他语言的数据交换也是如此。

00-1010很多次听到“jsON是JS的子集”这句话,以前一直这么想。您可以将符合JSON格式的每个字符串解析为JS,直到您发现一些奇怪的东西。

1.为什么两个根本不同的东西如此接近?

JSON和JSON对象本质上根本不是一回事,就像“斑马线”和“斑马”一样。斑马线是根据斑马身上的条纹来呈现和命名的,但是斑马是活的,斑马线是非活的。

同样,‘JSON’的全称是‘JavaScript Object notification’,所以它的格式(语法)是基于JS的,但它是一种格式,JS对象是一个实例,一个内存中存在的东西。

开个玩笑,如果JSON是基于PHP的,可能叫PON,形式可能是这样的['property one'=' foo ',' property two'=42,]。如果是这样的话,那么JSON现在可能和PHP关系密切。

此外,JSON可以传输,因为它是文本格式的,但是JS对象不能传输。在语法上,JSON会更加严格,但是JS对象非常松散。

那为什么两个不同的东西会如此接近呢?因为JSON毕竟是从JS演变而来的,而且它的语法也差不多。

2.JSON格式类型JS对象的严格语法表达是什么?

首先,以“键值对作为表达对象”的形式,比较两者的区别。至于JSON怎么表达,比较后再列出来。

可以看出JSON的格式比JS对象的格式更严格,所以写出来的JS对象大多不符合JSON的格式。

00-1010模式1:迭代器迭代器用于遍历值。

方法2:用于循环。

对编程感兴趣,想了解更多编程知识,关注头条号,一起玩编程。

更多编程信息,干货正在不断更新~

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。