JSON数据格式的解析与序列化

本文介绍了JSON的基本概念,包括其作为数据格式的特性以及如何在JavaScript中进行序列化和反序列化操作。通过实例展示了如何使用JSON.stringify()和JSON.parse()方法。

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

JSON:JavaScript  Object  Notation (javascript 对象表示方法),它是一种数据格式,不是一种编程语言。JSON并不属于JavaScript,而且并不是只有JavaScript才使用JSON,毕竟JSON只是一种数据格式。很多编程语言都有针对JSON的解析器和序列化器。

JSON可以表示三种类型的值:

1.简单值;

2、对象; 

 {

     “name”:“mwtopfire”,

     “age” :12

}

3.数组 : [25,   "hi",  true]

JSON之所以很实用流行,是因为JSON数据结构可以解析为有用的JavaScript对象。

JSON对象有两种方法:stringify()和parse()。分别用于将JavaScript对象序列化为JSON字符串和把JSON字符串解析为JavaScript对象或数组,使用eval()方法也可以解析并返回JavaScript对象和数组。但是在旧版本的浏览器中,使用eval()方法对JSON数据结构求值存在风险,因为可能会执行一些恶意代码。


 序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程(来自“百度百科—序列化“,学术性强,略显高端);

对JavaScript对象的序列化是为了更好的将数据保存到磁盘里防止断电丢失数据。

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>JSON</title>
</head>
<body>
	<script type="text/javascript">
		var object= {
			"name":"mwtopfire",
			"age":20,
			"title":"Nicholas",
			"major":"Internet",
			"releaseDate":new Date(2016,7,2)
		};
		//第二个参数是一个数组,是要将序列化的结果只包含数组中的元素属性
		var jsonText = JSON.stringify(object,["title","major","releaseDate"]);  //js对象的序列化
		var jsonobject = JSON.parse(jsonText,function(key,value){   //反序列化
            if(key == "releaseDate"){  //key为键值
            	return new Date(value);
            }else{
            	// alert(value);
            	return value;
            }
		});
		alert(jsonobject.releaseDate.getFullYear());
		alert(jsonText);
		alert(jsonobject.releaseDate);
	</script>
</body>
</html>






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值