再谈json

接上一篇,省市三级联动的例子中,引入了1个QQ网站上的js文件。这个js中构造了一个地址对象,页面上我们所有的操作都跟这个对象关联。今天讨论这种对象怎么构造的问题。

前面写过一篇:浅谈Json数据格式 http://www.cnblogs.com/xiaochongchong/p/5284441.html

实际中用的比较多的是这种嵌套数据格式,obj = {"items":{"a":[1,2],"b",[3,4]}}。构造起来很灵活,使用起来很方便。今天讨论这种对象怎么构造的问题。

最外层是对象的形式,属性:值。值里面又是1个对象,这个对象的值是个数组(数组的话,保存的是类型一致的常量)。

使用所谓的混合构造模式:http://www.cnblogs.com/xiaochongchong/p/5283694.html 构造的过程就按着这个走下去可以了。

构造函数实现、访问,代码如下:

<script>
	//初始化为空的构造函数
	function Obj(){
		this.items = {}
		}
	//原型上添加方法
	Obj.prototype.add = function (id, iArray) {
    this.items[id] = iArray;
	}
	
	//new对象
	var obj  = new Obj();
	obj.add("a",[1,2])
	obj.add("b",[3,4]);
	
	//以上的构造等价于直接申明以下的变量
	//obj = {"items":{"a":[1,2],"b",[3,4]}}
	
	//从obj中取东西
	alert(obj.items["a"][0]);//1
	alert(obj.items["b"][0]);//3
	
</script>

  

原文地址:https://www.cnblogs.com/xiaochongchong/p/5543149.html