JSON对象

本文介绍了JSON,它是JavaScript对象方法,是轻量级文本数据交换格式,独立于语言和平台。阐述了JSON语法,包括名称/值对、逗号分隔等。对比了JSON对象与JS对象的差异,还介绍了JSON数组。最后讲解了JSON对象的stringify()和parse()方法,二者可相互转化且输出值相互独立。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发工具与关键技术:VS MVC
作者:冉冉
撰写时间:2019年05月21日

Json是JavaScript对象方法它的全称为:JavaScript Object Notation。Json是存储和交换文本信息的语法:
1、 JSON是轻量级的文本数据交换格式;
2、 JSON是独立于语言和平台的;
3、 JSON具有自我描述性,更容易理解;类似于xml,但比XML更小、更快、更易解析(xml可扩展标记语言;是设计用来传输和存储数据)。
JSON语法是JavaScript对象表示语法的子集:
1、 数据在名称/值对中(数据在键值对中);
2、 每条数据由逗号分隔开;
3、 花括号里面保存对象({});
4、 方括号保存数组([])
JSON的值可以有很多钟,例如:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true或false)数组(在方括号中)、对象(在花括号中,可以重复嵌套)和null。
JSON对象在花括号中书写,花括号可以包括多个键值对。键值对中可以再嵌套对象,对象可以再嵌套对象或者键值对。只要思维够强大,这个可以无限嵌套。接下来请看例子:
JSON例子:
在这里插入图片描述
JSON对象与JS对象有两个地方不一样:一是JSON没有声明变量(JSON中没有变量的概念)而JS需要声明变量。二是JSON末尾没有分号(因为它不是JavaScript语句,所以不需要分号)而JS末尾要有分号。还有一个特殊的是JSON中对象的属性名在任何时候都必须加双引号,而JS则没有这么绝对。
JS例子:
在这里插入图片描述
JSON数组(在方括号中写,数组可包含多个对象):在JSON中可以采取同样的语法表述一个数组也就是[23, “hello”," hi", true]
同样JSON数组与JSON对象一样,没有变量和分号!如果把它们两者结合起来,还可以组成更加复杂的数据集合,例如下面的JSON数组与对象的数据集合。
在这里插入图片描述
数组中可以嵌套对象,同样对象中也可以嵌套数组。这里就不截图表示了,有兴趣的话可以自己尝试哦!下面看对象的方法:
JSON对象有两个方法:
1、 stringify():将JS对象序列化为JSON字符串。
2、 parse():将JSON字符串解析为原生的JS值。
看代码:

在这里插入图片描述
在这里插入图片描述
图4中arr的输出值是一个对象,对象里有一个数组,数组里又有三个对象;图5就是通过stringify这个方法来把图4的JS对象序列化成JSON的字符串,所以图5的arr输出之后就是一个JSON格式的字符串。Parse将字符串解析为原生的JS值。例如图5就是用这个方法将JsonText字符串解析为原生的JS值。图4中没有做过任何处理的arr与图5中解析后的arr1的输出值一样。而图5中的另一个方法typeof()是获取某一个变量的数据类型。
虽然输出后图4的arr与图5的arr1具有相同的属性和数据,但是它们两个是独立的,没有任何关系的对象。
所以说明stringify()和parse()可以相互转化,但他们输出的值没有任何关系的,是相对独立的。
如果有错的话,请在评论区评论,我会及时更改的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值