学习JavaScript(6)JSON


前言

参考红宝书JavaScript高级程序设计第三版


一、JSON是什么?

JSON是JavaScript的一个严格的子集,利用了JavaScript中的一些模式来表示结构化数据。

需要注意的是JSON不是一种编程语言

二、JSON语法

JSON语法可以表示以下三种类型的值

1.简单值

语法与JavaScript相同。可以在JSON中表示字符串、数值、布尔值、null、对象。但并不支持undefined。

"HELLOW WORLD"
//一个JSON简单值,必须使用双引号

2.对象

表示的是一组有序的键值对,每个键值对中的值可以是简单值,也可以是复杂数据类型的值

要注意的是必须与JavaScript的对象区分开

//1)这是一个JavaScript对象
let cat = {
	name: "vivi",
	age: 2
};
//2)这是一个JSON对象
{
	"name": "vivi",
	"age": 2,
	"color": {
		"head": "white",
		"leg": "black"
	} 
}

我们可以看到区别:
1)末尾分号:JavaScript有,JSON没有
2)对象属性值双引号:JavaScript可以没有,JSON必须有

3.数组

JSON数组采用的就是JavaScript中的数组字面量形式

//1)这是一个JavaScript数组
let a = [1,"a",false];
//2)这是一个JSON
[1,"a",false]

注意JSON数组也没有变量和分号

4.组合对象和数组

也可以算是数组之一,用法形式多样

//这是一个JSON组合对象和数组
[
	{
		"name": "vivi",
		"age": 2
	},
	{
		"name": "cici",
		"age": 3
	}	
]

三、JSON和JavaScript对象相互转化

JSON和JavaScript对象有两个方法相互转化。

1.JSON.stringify()

将对象序列化为JSON

let cat = {
	name: "vivi",
	age: 2
};

let catJSON = JSON.stringify(cat);
console.log(catJSON);
//{"name":"vivi","age":2}

2.JSON.parse()

将JSON字符串解析为原生JavaScript值

let cat = {
	name: "vivi",
	age: 2
};

let catJSON = JSON.stringify(cat);
console.log(catJSON);
//{"name":"vivi","age":2} JSON.stringify转为JSON
let catobj = JSON.parse(catJSON);
console.log(catobj);
//{name: "vivi", age: 2} JSON.parse转为JavaScript


总结

个人学习笔记,每天进步多一点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值