Json 对象标记法 详解

JSON: JavaScript Object Notation(JavaScript 对象标记法)。
JSON 是一种存储和交换数据的语法。


1、语法
JSON的语法是JS语法的子集
(1)数据在名称/值对中(2)数据由逗号分隔(3)花括号容纳对象(4)方括号容纳数组
JSON 对象数据是使用键值对的形式

"name":"huangyuyueniao"
"city":"ChangSha"

在 JSON 中,值必须是以下数据类型之一:
字符串数字 JSON 对象 数组 布尔 null


2、解析JSON代码
使用到parse()函数JSON.parse(解析的代码)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<p id="demo"></p>
		<script>
			var person ='{"name":"huangyueyue","age":18}';
			var x=JSON.parse(person);
			document.getElementById("demo").innerHTML=x.name;
		</script>
	</body>
</html>

解析时间函数Date()
使用方法:解析后的代码.json对象 = new Date (解析后的代码.json对象)

<!DOCTYPE html>
<html>
	<body>
		<p id="demo"></p>
		<script>
			var text = '{ "birth":"1955-10-28"}';
			var obj = JSON.parse(text);
			obj.birth = new Date(obj.birth);
			document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;
		</script>
	</body>
</html>

解析函数function

<!DOCTYPE html>
<html>
	<body>
		<p id="demo"></p>
		<script>
			var text = '{"age":"function() {return 18;}"}';
			var obj = JSON.parse(text);
			obj.age = eval("(" + obj.age + ")");
			document.getElementById("demo").innerHTML = obj.name + ", " + obj.age();
		</script>
	</body>
</html>

3、字符化JSON代码
使用到stringify()函数 JSON.stringify(js代码)

<!DOCTYPE html>
<html>
	<body>
		<p id="demo1"></p>
		<script>
			var obj = {
				name: "huangyueyue",
				age: 18,
				city: "ChangSha"
			};
			var myJSON = JSON.stringify(obj);
			document.getElementById("demo1").innerHTML = myJSON;
		</script>
	</body>
</html>

4、JSON对象
JSON 对象被花括号 { } 包围。

{
	name: "huangyueyue",
	age: 18,		
	city: "ChangSha"
}

访问对象的值使用 .,或者使用方括号 [ ] 来访问对象值
修改值同理,访问对象后赋值即可

<!DOCTYPE html>
<html>
	<body>
		<p id="demo"></p>
		<script>
			var obj = {
				name: "huangyueyue",
				age: 18,
				city: "ChangSha"
			};
			var x = obj["name"];
			document.getElementById("demo").innerHTML = x;
		</script>
	</body>
</html>

遍历对象,使用 for in循环

<!DOCTYPE html>
<html>
	<body>
		<p id="demo"></p>
		<script>
			var myObj, x;
			myObj = {
				"name": "huangyueyue",
				"age": 18,
				"city": "ChangSha"
			};
			for (x in myObj) {
				document.getElementById("demo").innerHTML += x + "<br>";
			}
		</script>
	</body>
</html>

删除值,delete()

<!DOCTYPE html>
<html>
	<body>
		<p id="demo"></p>
		<script>
			var myObj, x;
			myObj = {
				"name": "huangyueyue",
				"age": 18,
				"city": "ChangSha"
			};
			delete myObj.city;
			for (x in myObj) {
				document.getElementById("demo").innerHTML += x + "<br>";
			}
		</script>
	</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Modify_QmQ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值