【javascript编程思维】深入了解JSON到底是什么?该如何去操作JSON字符串?

举报
大数据小禅 发表于 2021/12/19 22:47:53 2021/12/19
【摘要】 深⼊了解JSON到底是什么JSON是JavaScript Object Notation的缩写,它是⼀种数据交换格式JSON基于⽂本,优于轻量,⽤于交换数据JSON主要⽤于前后端交互时数据的传输,JSON简单易⽤,是ECMA的⼀个标准,⼏乎所有的编程语⾔都有解析JSON的库,所以我们可以放⼼⼤胆的在前后端交互⾥直接使⽤JSON JSON跟XML的⽐较在可读性上⾯JSON是简易的写法,XML...

深⼊了解JSON到底是什么

  • JSON是JavaScript Object Notation的缩写,它是⼀种数据交换格式
  • JSON基于⽂本,优于轻量,⽤于交换数据
  • JSON主要⽤于前后端交互时数据的传输,JSON简单易⽤,是ECMA的⼀个标准,⼏乎所有的编程语⾔都有解析JSON的库,所以我们可以放⼼⼤胆的在前后端交互⾥直接使⽤JSON
JSON跟XML的⽐较
  • 在可读性上⾯JSON是简易的写法,XML是规范的标签写法形式
  • 使⽤层⾯,由于JSON是我们ECMA的⼀个标准,所以在我们JS上⾯使⽤有着天然的主场优势,对于存储我们JS的各种格式的数据都⽐XML有优势
  • 轻量级是JSON最⼤的优势,在数据交换这⼀块轻量就代表着速度要⽐别⼈快
JSON字符串、JSON对象和数组

JSON的语法规定JSON字符串必须为双引号("")包着⽽不是单引号(’’),同时JSON对象内的键也是必须为双引号("")包着⽽不是单引号(’’)

JSON对象

{"name":"JSON对象","address":"⼴东省⼴州市","age":28}

JSON数组

[
 {"name":"JSON数组1","address":"⼴东省⼴州市","age":28},
 {"name":"JSON数组2","address":"⼴东省⼴州市","age":28}
]

JSON字符串

'{"name":"JSON对象","address":"⼴东省⼴州市","age":28}'
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>


		<script type="text/javascript">
			//json对象
			var jsonObj={"name":"tim","age":28}
			console.log(jsonObj,typeof(jsonObj))

			//json数组
			var  jsonarr=[
				{"name":"tim","age":28},
				{"name":"tim","age":28},
				"json字符串"
			]
			console.log(jsonarr,typeof(jsonarr))

			//json字符串
			var jsonString='{"name":"tim","age":28}'
			console.log(jsonString,typeof(jsonString))


		</script>
</body>
</html>

在这里插入图片描述

实战必备技能之 JSON.parse( ) 和 JSON.stringify( ) 的使⽤*序列化
  1. JSON.stringify(): 把js对象转JSON字符串
  2. 反序列化 JSON.parse():把 JSON字符串转js对象
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<script type="text/javascript">
		//序列化,js对象转换成json字符串
		var obj={'name':'tim','age':16}
		console.log(obj,typeof(obj))
		console.log(JSON.stringify(obj),typeof(JSON.stringify(obj)))

		//反序列化   json字符串转换成js对象
		console.log('********反序列化*********')
		var jsonString='{"name":"tim","age":18}'
		console.log(jsonString,typeof(jsonString))
		console.log(JSON.parse(jsonString),typeof(JSON.parse(jsonString)))
	</script>
</body>
</html>
对于JSON对象的增删改查操作

对于JSON对象的操作

  1. 增 obj.xxx='xxx’
  2. 删 delete obj.xxx
  3. 改 obj.xxx='xxx’
  4. obj.xxx

对获取到的数组进⾏简单的操作
模拟获取到后端的数组然后循环输出

<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
		<script type="text/javascript">

			//对于json对象的操作
			var obj={"name":"tim","age":18}
			// console.log(obj)
			//对对象增加一个属性
			obj.height="180cm"
			
			//删除一个属性  删除年龄
			delete obj.age
			
			//更改一个属性的值  把名字改成tom
			obj.name="tom"

			//查找名字是什么  obj.name
			console.log(obj.name)


			var  arr=[                     //定义一个json数组
				{"name":"tim","age":18},
				{"name":"tony","age":20},
				{"name":"jerry","age":23}
			]

			for(var i=0;i<arr.length;i++){
				console.log(arr[i])
			}

		</script>
</body>
</html>

控制台输出如下:
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。