码迷,mamicode.com
首页 > Web开发 > 详细

JSON序列化 解析JSON

时间:2014-09-18 18:13:14      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:io   java   ar   strong   2014   cti   on   c   ef   


var book = {
title : "JavaScript",
authors : ["Nickolas . Zakas"],
edition : 3,
year : 2011
},
jsonText;

JSON序列化

//简单序列化 SON.stringify接受3个参数 第一个需要序列化的对象 第二个参数是一个过滤器 可以是数组也可以是一个函数
jsonText = JSON.stringify( book );

//过滤 结果只包含过滤器中的字段

jsonText = JSON.stringify( book, ["title", "edition"] );//数组
jsonText = JSON.stringify( book, function ( key, value ) {
switch ( key ) {
case "authors":
return value.join( "." ); //将authors的值 数组连接为一个字符串
case "year":
return 5000;
case "edition":
return undefined; //将edition的值设为undefined 在JSON中值为undefined的属性会被删除
default :
return value; //提供default 以便其他值能正常出现在结果中
}
} );

//缩进
jsonText = JSON.stringify( book, null, 4 ); //每个级别缩进4个字符 P568 只要设置了缩进 结果就会自动换行 易读
jsonText = JSON.stringify( book, null, "--" ); //设置缩进字符为"--"


//toJSON方法 添加toJson方法返回自身
book = {
title : "JavaScript",
authors : ["Nickolas . Zakas"],
edition : 3,
year : 2011,
toJSON : function () {
return this.title;
}
};


解析JSON JSON.parse()
book = {
title : "JavaScript",
authors : ["Nickolas . Zakas"],
edition : 3,
year : 2011,
releaseDate:new Date(2014,12,12)
};
jsonText=JSON.stringify(book);
var bookCopy=JSON.parse(jsonText,function(key,value){
if(key=="releaseDate"){
return new Date(value);
}else{
return value;
}
})

JSON序列化 解析JSON

标签:io   java   ar   strong   2014   cti   on   c   ef   

原文地址:http://www.cnblogs.com/zodiacblog/p/json.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!