Javascript中的Json序列化和反序列化

今天来介绍一下Javascript中的JSON序列化和反序列化,我们知道JSON是一种通用的数据格式,有着存储体积小等特点,而且JSON还是原生的Javascript对象的代码形式。接下来我们介绍一下JSON的序列化和反序列化方法。

首先,我们需要导入json2.js这个类库,可以从json.org官网上找到。下载地址

在一个HTML页面中加入如下代码:

//声明Javascript对象
function Person(name,age,birthday){
this.Name = name;
this.Age = age;
this.Birthday = birthday;
}
//实例化Javascript对象
var p = new Person("ZhangSan",20,new Date());
//将对象转化为Json串
var output = JSON.stringify(p);
//输出结果
document.write(output);

输出结果:

下面是反序列方法,因为Json是原生的Javascript对象的代码形式,所以可以直接调用eval()方法进行反序列化

//声明Javascript对象
function Person(name,age,birthday){
this.Name = name;
this.Age = age;
this.Birthday = birthday;
}
//实例化Javascript对象
var p = new Person("ZhangSan",20,new Date());
//将对象转化为Json串
var output = JSON.stringify(p);

//将Json串转化为对象
var outP = eval('('+output+')');
//输出结果
document.write('Name:'+outP.Name+'
')
document.write('Age'+outP.Age+'
')
document.write('Birthday'+outP.Birthday)

输出结果:

是不是很简单?在Javascript中用json这种数据格式比xml更有优势,现在很多ajax操作,基本用的都是json这种轻量级数据格式。推荐大家在ajax等需要数据交换的时候使用。

原创文章,转载请注明: 转载自.NET开发者

本文链接地址: Javascript中的Json序列化和反序列化

你可能感兴趣的:(javascript,json,output,function,ajax,date)