前端js把json字符串转json对象 java对象转json对象命令

最近在逛编程问题答案的时候看到了这个问题:如何将一个JSON数组类型的字符串转换成JSON数组,然后遍历数组取出JSON对象,最后在JS中取出它的属性。在这里,我想给同样有疑问的朋友们一些解答。当然,也欢迎大家在大神留言区留下更好的答案。首先我们回到源头问一下,JSON到底...

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

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

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

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

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

JSON是什么?

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

如果你没去过JSON的官方介绍,可以去这里。官方的介绍已经说的很清楚JSON是什么了。我把什么是JSON提炼为以下几个方面:

1。数据格式

格式是什么?就是规定你的数据应该如何表示。以栗子为例。有一个人叫“260”,身高“160cm”,体重“60kg”。现在你有很多选择来把这个人的信息传递给其他人或其他东西:

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

2。基于文本的数据格式

JSON是一种基于文本的数据格式,与基于二进制的数据相反。所以JSON交付的时候是一个符合JSON格式的字符串(至于JSON的格式是什么,我们会在第二部分讲到)。我们经常称之为“JSON字符串”。

3。轻量级数据格式

在JSON之前,有一种数据格式叫xml,现在还在广泛使用,但是JSON更轻量级。例如,xml需要很多标签。就像上面的例子,你可以清楚的看到标签本身在xml格式的数据中占据了大量的空空间,而JSON则更轻,也就是同样的数据在JSON格式中占用的带宽更少,在有大量数据请求和传输的时候优势明显。

4。广泛用于数据交换

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

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

前端构造一个JS对象,用于包装要传递的数据,然后将JS对象转化为JSON字符串,再发送请求到后端;后端PHP接收到这个JSON字符串,将JSON字符串转化为PHP对象,然后处理请求。

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

经常混淆的JSON和JS对象

经常听到“JSON是JS的子集”这句话,以前也一直这么想。你可以把每一个符合JSON格式的字符串解析成JSS,直到我发现一些奇怪的东西…

1。为什么两个根本不同的事物如此接近

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

同样,”JSON & # 8221全名”JavaScript对象符号”,所以它的格式(语法)是基于JS的,但它是一个格式,JS对象是一个实例,一个存在于内存中的东西。

开个玩笑,如果JSON是基于PHP的话,可能叫PON,形式可能是这样的[‘propertyOne & # 8217= & gt‘foo & # 8217, ‘propertyTwo & # 8217= & gt42,],如果是这样,那么JSON现在可能更接近PHP了。

另外,JSON因为是文本格式可以传输,但是JS对象不能传输。从语法上来说,JSON会更严格,但是JS对象会很松散。

那么,为什么这两种不同的东西如此接近呢?因为JSON毕竟是从JS进化来的,语法也差不多。

2。JSON格式的JSON对象的严格语法是什么

我们先以“作为对象的键-值对”的形式比较一下两者的区别。至于JSON还能代表什么形式,对比之后列出来。

可以看到,与JS对象相比,JSON的格式更加严格,所以大部分写出来的JS对象都不符合JSON格式。

json字符串被转换成JSON数组,属性值被遍历

方法1:使用Iterator迭代器遍历值

方法2:使用for循环

本文来自长街旧人投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/640346.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 07-19
下一篇 07-19

相关推荐

  • 语言栏不显示了怎么办 win7语言栏修复命令

    我们在使用电脑的时候会遇到一些问题,比如Windows S10语言栏没了怎么解决问题。让我们和边肖一起往下看。操作流程:1.首先,我们在计算机的开始菜单中找到并点击设置选项。2.然后,在页面中,我们找到并单击时间和语言选项。3.然后我们首先在左边选择语言,在右边找到拼写、打

    2023-07-29 05:54:01
    1034 0
  • 电脑怎么运行命令清理垃圾 怎么用命令行清理电脑垃圾

    电脑使用一段时间后,各种电脑垃圾越积越多,导致我们的电脑出现启动慢、运行卡顿等问题。那么有什么办法可以帮助我们快速清理电脑垃圾呢?其实用运行的命令代码就可以快速清理电脑垃圾。今天我们就来看看如何使用run命令代码快速清理电脑垃圾!首先使用组合键[win+R]调出运行

    2023-07-29 02:42:01
    891 0
  • 常用的dos命令教程 dos基本命令大全cmd

    一般来说dos命令都是在dos程序中进行的,如果电脑中安装有dos程序可以从开机选项中选择进入,在windows 系统中我们还可以从开始运行中输入cmd命令进入操作系统中的dos命令,如下图:严格的说,windows 中的命令窗口并不是真正意义上的dos操作界面,其功能并不全面,真正的dos

    2023-07-28 17:35:01
    336 0
  • cad画斜线怎么画 cad画45度斜线命令

    CAD是一个强大的绘图软件。学好了,工资也不会低。但是对于从来没有接触过CAD的朋友来说,刚开始学这个软件是很难的,但是要想学会,还得下功夫。因此,边肖为大家整理了一份CAD入门教程。想学CAD的朋友要来看看!先看看快捷方式说明:1.创建直线的捷径是L+空 grid。2.创建圆的

    2023-07-28 04:25:01
    595 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信