针对JSON的封装操作

function ObjectWarpper(initiallyObject){
	var obj = {};
	var index = 0;
	this.extend = function(objs){
		for(var val in objs){
			if(!this.isContainKey(val)){
				index++;
			}
			obj[val] = objs[val];
		}
		return this;
	}	
	this.set = function(key,value){
		if(typeof(key) === 'string'){
			obj[key] = value;
			index++;	
		}else if(typeof(key) === 'object'){
			this.extend(key);	
		}	
	}

	this.isContainKey = function(key){
		return typeof(obj[key]) !== 'undefined';
	}

	this.get = function(key){
		if(typeof(obj[key]) !== 'undefined'){
			return obj[key];
		}
		return null;
	}
	this.size = function(){
		return index;
	}
	this.remove = function(key){
		var temp = this.get(key);
		if(temp != null){
			delete obj[key];
			index--;
		}
		return temp;
	}
	this.loop = function(callback,deep){
		if(this.size() == 0){
			return;
		}
		if(typeof(callback) !== 'function' || typeof(callback) === 'undefined'){
			callback = function(key,value){};
		}
		if(typeof(deep) === 'undefined' || typeof(deep) !== 'number'){
			deep = 1;
		}
		if(deep <= 0){
			return;
		}
		deep--;
		for(var val in obj){					
			if(deep > 0 && obj[val] instanceof ObjectWarpper){
				obj[val].loop(callback,deep);
			}else{
				callback(val,obj[val]);
			}
		}
	}

	this.getObj = function(){
		return obj;
	}

	if(typeof initiallyObject === 'object'){
		this.extend(initiallyObject);
	}
}


var test3 = new ObjectWarpper({'4v10':'我是第四层'});
var test2 = new ObjectWarpper();
test2.set({'3v7':'adssdfssfsd','3v11':test3});
var test1 = new ObjectWarpper();
test1.set({'3v6':'第三层内容'});
var test = new ObjectWarpper({'2v4':'递归内容','2v5':test1,'2v9':'我是第二层v9','2v8':test2});
test.set('append','后来添加');
var wo = new ObjectWarpper({'1v1':'sdfsfs','1v2':1231312,'1v3':test});
wo.loop(function(key,value){
	alert('key:'+key+"  value:"+value);	
},3);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值