问题描述
varconfig=[{id:'1',menu:[{text:'系统管理',items:[{id:'12',text:'机构管理',href:'Node/index.html'},{id:'3',text:'角色管理',href:'Role/index.html'},{id:'4',text:'用户管理',href:'User/index.html'},{id:'6',text:'菜单管理',href:'Menu/index.html'}]}]},{id:'7',homePage:'9',menu:[{text:'业务管理',items:[{id:'9',text:'查询业务',href:'Node/index.html'}]}]}];生成的是Array格式,类似于直接给config赋值,谢谢回答,
解决方案
解决方案二:
你到底想干吗,大神,看不懂。
解决方案三:
感觉像json
解决方案四:
格式化了下,json而已,你的问题到底要干嘛呢[{id:'1',menu:[{text:'系统管理',items:[{id:'12',text:'机构管理',href:'Node/index.html'},{id:'3',text:'角色管理',href:'Role/index.html'},{id:'4',text:'用户管理',href:'User/index.html'},{id:'6',text:'菜单管理',href:'Menu/index.html'}]}]},{id:'7',homePage:'9',menu:[{text:'业务管理',items:[{id:'9',text:'查询业务',href:'Node/index.html'}]}]}]
解决方案五:
还以为我out呢原来……LZ是想表达什么呢?
解决方案六:
借用#3楼的清晰的json结构,我们可以看看这个javascript语言的程序应该如何写。可以写一个简单的demo说明一下:varMyTypeA=(function(){functionMyTypeA(){this.menu=[];}returnMyTypeA;})();varMyTypeB=(function(){functionMyTypeB(){this.items=[];}returnMyTypeB;})();varMyTypeC=(function(){functionMyTypeC(){}returnMyTypeC;})();vara=[];varb=newMyTypeA();a.push(b);b.id="1";varc=newMyTypeB();b.menu.push(c);c.text="系统管理";vard=newMyTypeC();c.items.push(d);d.id="12";d.text="机构管理";//。。。。。。其它赋值代码省略//将javascript对象序列化为字符串varstr=JSON.stringify(a);alert(str);//将字符串反序列化为javascript对象varobj=JSON.parse(str);alert(obj[0].menu[0].items[0].text);
解决方案七:
javascript是动态语言,也就是说许多地方可以“随便胡乱写”只有等到运行时才会崩溃的(有人认为这不是灾难,反而是灵活性的表现)。例如你给变量a随便赋值为[]就成了“任意”集合了。你给b引用的对象随便设置属性,例如写b.id="1"还是写b.id=1,那么javascript会全盘都接受不同类型赋值。最后多说一句。javascript程序员应该对这个的理解,就好像学过c#编程的人第一天接触“Aa=newA();”语句一样。如果不了解这些基本语法,写更复杂的javascrip代码就成了梦魇。
解决方案八:
我们可以为3个属性增加“初始值”,并且为最后一个类型增加一个方法,也许看的更清楚,如何在javascript中将看待对象。varMyTypeA=(function(){functionMyTypeA(){this.menu=[];this.homepage="home.html";}returnMyTypeA;})();varMyTypeB=(function(){functionMyTypeB(){this.text="行政检察厅";this.items=[];}returnMyTypeB;})();varMyTypeC=(function(){functionMyTypeC(){this.id="1";}MyTypeC.prototype.NavigateTo=function(){window.location.href=this.href;};returnMyTypeC;})();
通过//将javascript对象序列化为字符串varstr=JSON.stringify(a);alert(str);//将字符串反序列化为javascript对象varobj=JSON.parse(str);alert(obj[0].menu[0].items[0].text);
你可以看到,在javascript中有多种层次的对象表示法。程序员需要了解他们之间的转换关系。