JSON

JSON对象克隆(JSON对象序列化)(支持function),json序列化

字号+ 作者:H5之家 来源:H5之家 2016-01-14 18:12 我要评论( )

JSON对象克隆(JSON对象序列化)(支持function),json序列化。JSON对象克隆(JSON对象序列化)(支持function),json序列化 工作中碰到需要将JSON对象序列化保存到Ses

JSON对象克隆(JSON对象序列化)(支持function),json序列化

工作中碰到需要将JSON对象序列化保存到SessionStorage中,所以自己写了3个方法:克隆JSON对象、将JSON对象序列化保存和读取的方法。


var JSON_SERIALIZE_FIX = { PREFIX : "[[JSON_FUN_PREFIX_", SUFFIX : "_JSON_FUN_SUFFIX]]" }; /** * 根据Key从sessionStorage中获取JSON对象数据 * @param key 保存的主键 * @param type key的附加值(可选) */ function getSessionJSONItem(key,type){ if(type){ key = key+"_"+type; } return JSON.parse(sessionStorage.getItem(key),function(key, value){ if(typeof value === 'string' && value.indexOf(JSON_SERIALIZE_FIX.SUFFIX)>0 && value.indexOf(JSON_SERIALIZE_FIX.PREFIX)==0){ return eval("("+value.replace(JSON_SERIALIZE_FIX.PREFIX,"").replace(JSON_SERIALIZE_FIX.SUFFIX,"")+")"); } return value; })||{}; } /** * 保存JSON对象数据至sessionStorage中 */ function setSessionJSONItem(key,obj,type){ if(type){ key = key+"_"+type; } sessionStorage.setItem(key,JSON.stringify(obj,function(key, value){ if(typeof value === 'function'){ return JSON_SERIALIZE_FIX.PREFIX+value.toString()+JSON_SERIALIZE_FIX.SUFFIX; } return value; })); } /** * 克隆一个JSON对象(支持function) * @param obj json对象 */ function cloneJSON(obj){ var sobj = JSON.stringify(obj,function(key, value){ if(typeof value === 'function'){ return JSON_SERIALIZE_FIX.PREFIX+value.toString()+JSON_SERIALIZE_FIX.SUFFIX; } return value; }); return JSON.parse(sobj,function(key, value){ if(typeof value === 'string' && value.indexOf(JSON_SERIALIZE_FIX.SUFFIX)>0 && value.indexOf(JSON_SERIALIZE_FIX.PREFIX)==0){ return eval("("+value.replace(JSON_SERIALIZE_FIX.PREFIX,"").replace(JSON_SERIALIZE_FIX.SUFFIX,"")+")"); } return value; })||{}; }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • php CI 实战教程:[5]用curl获取json并解析

    php CI 实战教程:[5]用curl获取json并解析

    2016-02-26 17:00

  •  JSON入门级学习总结-JSON数据结构

    JSON入门级学习总结-JSON数据结构

    2016-02-25 11:05

  • Android解析Json速度最快的库:json

    Android解析Json速度最快的库:json

    2016-02-13 18:00

  • JavaScript转换与解析JSON方法实例详解第1/2页

    JavaScript转换与解析JSON方法实例详解第1/2页

    2016-02-10 21:25

网友点评
d