JavaScript学习笔记(十五)——JSON数据和解析

本文详细介绍了JSON数据格式的语法,包括简单值、对象和数组,并探讨了JSON解析和序列化的过程,包括JSON.parse()和JSON.stringify()方法的使用及选项。强调JSON与JavaScript对象的关系以及在数据转换中的注意事项。
摘要由CSDN通过智能技术生成

JSON数据和解析

​ JSON是一个字符串,常常用于网络传输数据的一种字符串格式。

​ 理解 JSON 最关键的一点是要把它当成一种数据格式,而不是编程语言。JSON不属于JavaScript,它们只是拥有相同的语法而已。JSON 也不是只能在 JavaScript 中使用,它是一种通用数据格式。很多语言都有解析和序列化JSON的内置能力。

1、JSON语法

JSON语法支持表示3种类型的值:

  • 简单值:字符串、数值、布尔值和null可以在JSON种出现,特殊值undefined不可以;
  • 对象:第一种复杂数据类型,对象表示有序键/值对。每个值可以是简单值,也可以是复杂类型;
  • 数组:第二种复杂数据类型,数组表示可以通过数值索引访问的值的有序列表。数组的值可以是任意类型,包括简单值、对象,甚至其他数组。
1、简单值

JSON可以是一个数值:例如:1,32,4……

类似的,字符串也是有效的JSON:

‘’Hello ,this is my girlfriend!‘’

值得注意的是:和JavaScript不同的是,JSON中字符串必须使用双引号,如果使用单引号则会导致语法错误。

2、对象

先来看看JavaScript种的对象字面量:

const person = {
   
	name: "marry",
	age: 20
};

而用 JSON 表示相同的对象的语法是:

{
   
	"name": "marry",
	"age": 20
}

不同的地方可以总结了:

  1. 没有变量声明(JSON 中没有变量);
  2. 最后没有分号(不需要,因为不是 JavaScript 语句)。
  3. 里面的对象里面的key值也要用双引号引起来(这也是为了后面的解析不会报错)。

属性的值可以是简单值或复杂数据类型值,后者可以在对象中再嵌入对象:

{
   
	"name": "lc",
	"age": 20,
	"school": {
   
		"name": "kk",
		"location": "上海"
	}
}
3、数组

JSON 的第二种复杂数据类型是数组。数组在 JSON 中使用 JavaScript 的数组字面量形式表示。

还是先来看看数组在JavaScript种的表示:

const arr=[18,'marry','男'];

在JSON中表示为:

[18,'marry','男']

同样的这里没有变量也没有分号。

数组和对象可以组合使用,表示更加复杂的数据结构:

[
	{
    
		 "name": "lc", 
		 "authors": [ 
			 "Nicholas C. Zakas", 
			 "Matt Frisbie" 
		 ], 
		 "edition": 4, 
		 "year": 2017 
	 },
 	{
    
		 "name": "wmj", 
		 "authors": [ 
			 "Nicholas C. Zakas"
		 ], 
		 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值