JavaScript中Json的学习

1 json数据格式


1.1 什么是json

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

1.2 json的语法格式

json对象有三种数据格式,分别如下:

类型语法解释
对象类型{name:value,name:value…}其中name是字符串类型,而value是任意类型
数组/集合类型[value,value,value…]其中value是任意类型
混合类型[{},{}… …] 或 {name:[]… …}合理包裹嵌套对象类型和数组类型

JSON是存储和交换文本信息的语法,类似 XML。
JSON 比 XML 更小、更快,更易解析。

//如下java代码分别用xml、json传输
User user = new User();
user.setName("jack");
user.setAge(24);
user.setGender("男");

//xml格式
<user>
	<name>jack</name>
	<age>24<age>
	<gender></gender>
</user>
//json
{"name":"jack","age":24,"gender":"男"}
1.3 JavaScript中json格式和json解析练习
1.3.1 练习1
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			/**
			 * 案例一
			 * var person={key:value,key:value}
			 *
			 * class Person{
			 * String firstname = "张";
			 * String lastname = "三丰";
			 * Integer age = 100;
			 * }
			 *
			 * Person p = new Person();
			 * System.out.println(p.firstname);
			 */
			//json的定义
			var person = {
				"firstname": "张",
				"lastname": "三丰",
				"age": 100
			};
			//json解析
			alert(person.firstname);
			alert(person.lastname);
			alert(person.age);
		</script>
	</body>
</html>

1.3.2 练习2
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>

		<script type="text/javascript">
			/**
			 * 案例二
			 * [{key:value,key:value},{key:value,key:value}]
			 * *
			 */
			var json = [{
					"firstname": "张",
					"lastname": "三丰",
					"age": 100
				},
				{
					"firstname": "张",
					"lastname": "翠山",
					"age": 58
				},
				{
					"firstname": "张",
					"lastname": "无忌",
					"age": 23
				}
			];
			for (var i = 0; i < json.length; i++) {
				console.log(json[i].lastname);
			}
		</script>
	</body>
</html>

1.3.3 练习3
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>

		<script type="text/javascript">
			/**
			 * 案例三
			 * {
			 * "param":[{key:value,key:value},{key:value,key:value}]
			 * }
			 *
			 *
			 */
			var json = {
				"wife": [{
						"name": "小双",
						"age": 18,
						"addr": "扬州"
					},
					{
						"name": "建宁",
						"age": 18,
						"addr": "北京"
					},
					{
						"name": "龙儿",
						"age": 38,
						"addr": "岛国"
					},
					{
						"name": "阿珂",
						"age": 17,
						"addr": "中国台湾"
					}
				]
			}
			//全取
			for (var i = 0; i < json.wife.length; i++) {
				console.log(json.wife[i].name);
			}
		</script>
	</body>
</html>

1.3.4 练习4
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>

		<script type="text/javascript">
			/**
			 * 案例四
			 * {
			 * "param1":[{key:value,key:value},{key:value,key:value}],
			 * "param2":[{key:value,key:value},{key:value,key:value}],
			 * "param3":[{key:value,key:value},{key:value,key:value}]
			 * }
			 *
			 *
			 */
			var json = {
				"wife": [{
						"name": "双儿",
						"age": 18,
						"addr": "扬州"
					},
					{
						"name": "建宁",
						"age": 18,
						"addr": "北京"
					},
					{
						"name": "龙儿",
						"age": 38,
						"addr": "岛国"
					},
					{
						"name": "阿珂",
						"age": 17,
						"addr": "中国台湾"
					}
				],
				"lp": [{
						"name": "大双儿",
						"age": 18,
						"addr": "扬州"
					},
					{
						"name": "小双儿",
						"age": 18,
						"addr": "扬州"
					}
				]
			}

			console.log(json.wife[0].name);
		</script>
	</body>
</html>

1.3.5 JSON对象及JSON字符串转换
JSON.parse(jsonStr); // json字符串 --> json 对象
JSON.stringify(json); // json对象 --> json字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旧梦时节

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值