javascript中的json知识点(json中包含双引号和\斜杠等等这些特殊字符)

本文深入探讨了在JavaScript中如何处理JSON对象内的特殊字符,包括双引号、斜杠等,通过实例展示了如何使用转义符及不同方法将JSON字符串转换为对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javascript中的json知识点(json中包含双引号和\斜杠等等这些特殊字符)

我就直接po代码和截图了,代码中有注释

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>javascript(json知识点)-测试json</title>
<script type="text/javascript">
	//json字符串
	var jsonStr1 = '{ "firstName":"令狐冲" , "lastName":"Doe" }'; 
	//json对象
	var jsonStr2 = { "firstName":"张无忌" , "lastName":"Doe" };
	//json对象可以直接使用,使用方式是json对象名.属性名 比如jsonStr2.firstName
	console.log("-----" + jsonStr2.firstName); 
	var obj = eval(jsonStr2);
	console.log("#####" + obj.firstName);
	var str1 = '{ "name": "韦小宝", "sex": "man" }';
	 //由JSON字符串转换为JSON对象
    var obj2 = eval('(' + str1 + ')');
	 console.log(obj2.name);
	 var str2 = '{ "name": "杨过", "sex": "test" }';
	 //由JSON字符串转换为JSON对象
    var obj3 = eval('({ "name": "郭靖", "sex": "test" })');
	 console.log(obj3.name);
	 var obj4 = eval('(' + '{ "name": "杨康", "sex": "test" }' + ')');
	 console.log(obj4.name);
	 var obj5 = eval('(' + str2 + ')');
	 console.log(obj5.name);
	 var str3 = '{ "name": "乔峰", "sex": "test" }';
	 var obj6 = JSON.parse(str3); //由JSON字符串转换为JSON对象
	 console.log(obj6.name);
	 //测试json对象的属性值中包含:[]{}这种字符,测试在解析时,是否会报错(测试后的结论是,不会报错)
	 var jsonStr3 = { "firstName":"段{\"a\":\"b\",\"e\":\"f\"}[]{}誉" , "lastName":"Doe" };
	 console.log("*****" + jsonStr3.firstName);
	 var obj7 = eval(jsonStr3);
	 console.log("=====" + obj7.firstName);
	 //测试json对象的属性值中包含双引号和\斜杠等等这些特殊字符(解决办法是可以使用转义符\斜杠来进行处理)
	 var jsonStr4 = { "firstName":"虚[]:{\"\"}竹ab\\cd" , "lastName":"Doe" };
	 console.log("*****" + jsonStr4.firstName);
	 console.log("-------------------");
	 
	 //正确写法1 如下:
	 var obj9 = eval('(' + str2 + ')');
	 console.log("----------" + obj9.name);
	//正确写法2 如下:
	 var obj10 = eval("(" + str2 + ")");
	 console.log("###########" + obj10.name);
	 console.log("***********");
	//如下这种写法会报错
	 var obj8 = eval(str2);//需要在str2左右两边加上小括号才能正确解析,如:eval('(' + str2 + ')');
	 console.log(obj8.name);
	 
</script>
</head>
<body>
	<h1>javascript(json知识点)-测试json</h1>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值