克隆 JSON

function deepCopy(f, s) {
     if (!Object.keys(s).length) return;
     for (var i in s) {
         if (typeof s[i] === ‘object‘ && !!s[i]) {
             f[i] = s[i].constructor === Array ? [] : {};
             deepCopy(f[i], s[i]);
         }
         else {
             f[i] = s[i];
         }
     }}
function deepCopy(s) {
    if (!Object.keys(s).length) return;
    var json = {};
    var copy = function (f, s) {
          for (var i in s) {
                if (typeof s[i] === ‘object‘ && !!s[i]) {
                  f[i] = s[i].constructor === Array ? [] : {};
                  copy(f[i], s[i]);
               }
                else {
                  f[i] = s[i];
               }  
          }
     };
     copy(json, s);
     return json;
}
时间: 2024-10-24 08:59:16

克隆 JSON的相关文章

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

工作中碰到需要将JSON对象序列化保存到SessionStorage中,所以自己写了3个方法:克隆JSON对象.将JSON对象序列化保存和读取的方法. var JSON_SERIALIZE_FIX = { PREFIX : "[[JSON_FUN_PREFIX_", SUFFIX : "_JSON_FUN_SUFFIX]]" }; /** * 根据Key从sessionStorage中获取JSON对象数据 * @param key 保存的主键 * @param ty

ES6学习一--ES5

JSON对象方法 1.将JSON字符串转换成js对象(IE7及以下不支持)(IE7及以下兼容需其他手段) JSON.parse() 2.将js对象转成JSON字符串 JSON.stringify() 3.js对象深度克隆 JSON.parse(JSON.stringify(arrTwo)) Object对象方法 1.Object.create(prototype,[descriptors]) 作用:以指定对象为原型创建新的对象 为新的对象指定新的属性,并对属性进行描述 -value:指定值 -w

unity3D克隆50个游戏对象并输出Json格式的文本

http://wenku.baidu.com/link?url=tl8q_aj1n-U267XkKtSZISaw6jKJ1woh4CJkDUr1AwEzllSAv7P0r7cawXXSyDVXNf6mjKZaXr15XiX3tKL8xCrMcxtGKpE2P3fSDnvFEdG using UnityEngine; using System.Collections; using LitJson; using System.Text; using System.IO; public class P

对象的克隆,Dozer的使用

现在有个复杂对象bean需要在赋值后在另一个地方用,想通过复制的方式拿到这个对象.首选是深度克隆,虽然发现该对象的父类已经实现了Cloneable接口,但父类是通过jar包引入的,而且在clone方法中对该bean一个map<String, Object>属性的处理有问题:获取到map的value时,直接强制转型为某一具体bean,而子类这个map在put时并非该具体bean的类型,因此克隆时报转型失败错误.考虑方案二,通过java序列化方式克隆,父类也已经实现了Serializable接口,

访问修饰限定符的简单总结、final/abstruct/interface对类的限制、自动加载机制、序列化与反序列化【数据持久化和对象的序列化问题】、对象的拷贝(按引用是因为对象标识)和克隆(__clone方法中的this指向)

1.针对访问修饰限定符的理解只需要两点:(1)针对的是类的概念和访问代码的位置来确定是否能够访问(2)对访问修饰限定符的使用时只需要对该成员的使用场景注意即可[也就是内部,继承类,外部进行访问的权限] 不需要对内部进行太多理解[需要对php底层理解时进行理解] [重点][用途]通过访问修饰限定符将内部成员的权限合理的限制,然后再使用公共接口来调用这个基本服务,保证外部不能访问其内部的构件[这样既能够通过类内的设置,将内部的功能实现更好的限制,只有最外层的接口可以正常被访问到,而不了解内部的业务]

javascript深度克隆与javascript的继承实现

1.javascript深度克隆: //注意这里的对象包括object和array function cloneObject(obj){ var o = obj.constructor === Array ? [] : {}; for(var key in obj){ if(obj.hasOwnProperty(key)){ o[key] = typeof obj[key] === "object" ? cloneObject(obj[key]) : obj[key]; } } ret

js中的克隆小解

js一般有两种不同数据类型的值:  基本类型(包括undefined,Null,boolean,String,Number),按值传递:  引用类型(包括数组,对象),按址传递,引用类型在值传递的时候是内存中的地址. 克隆或者拷贝分为2种:  浅度克隆:基本类型为值传递,对象仍为引用传递.  深度克隆:所有元素或属性均完全克隆,并于原引用类型完全独立,即,在后面修改对象的属性的时候,原对象不会被修改. 代码如下: function cloneObject(obj){ var o = obj.co

将场景导出XML或JSON或二进制并且解析还原场景

导出unity场景的所有游戏对象信息,一种是XML一种是JSON.本篇文章我们把游戏场景中游戏对象的.旋转.缩放.平移与Prefab的名称导出在XML与JSON中.然后解析刚刚导出的XML或JSON通过脚本把导出的游戏场景还原.在Unity官网上下载随便下载一个demo Project,如下图所示这是我刚刚在官网上下载的一个范例程序. 接着将层次视图中的所有游戏对象都封装成Prefab保存在资源路径中,这里注意一下如果你的Prefab绑定的脚本中有public Object 的话 ,需要在代码中

.NET Core项目从xproj+project.json向csproj迁移简介

3月7日,微软发布了Visual Studio 2017 RTM,与之一起发布的还有.NET Core Runtime 1.1.0以及.NET Core SDK 1.0.0,尽管这些并不是最新版,但也已经从preview版本升级到了正式版.所以,在安装Visual Studio 2017时如果启用了.NET Core开发的相关功能,那么在安装完成后,你可以在命令行直接执行dotnet.exe,此时你可以看到.NET Core版本是1.1.0,而如果是执行dotnet.exe --version命