javaScript动态创建数组、动态赋值json数据方法之一(持续补充) |
您所在的位置:网站首页 › js创建map并赋值 › javaScript动态创建数组、动态赋值json数据方法之一(持续补充) |
/*测试:动态创建数组,动态赋值json数据*/ var json2 = "{'name':'zhangsan','age':99}"; var persons = new Array(); persons[ 0 ] = new Object(); persons[ 0 ].name = "xxx"; persons[ 0 ].age = 18; persons[ 1 ] = new Function("return" + json2 )();
alert( persons[ 1 ].name + persons[ 1 ].age ); /*上面结果显示 zhangsan99*/
/* json里面的数组转为JS的数组*/ var jsonXX = "[ {name:'zhangsan',age:99},{name:'lisi',age:77}]"; var obj = new Function("return "+jsonXX)(); for(var b in obj) { alert(obj[b].name); }
/*补充安全一点做法是,要判断一下*/ var obj=(function ToJSON(o) { if( typeof ( o ) == "string") { try { return new Function("return "+o)(); } catch( e ) { return null; } } })( jsonXX); 把json格式的字符串转换成javascript对象或数组 第一种 JSON.parse(jsonString) 第二种 eval("("+jsonString+")") 第三种 var obj=(function ToJSON(o){ if(typeof(o)=="string")try{return new Function("return "+o)();}catch(e){return null;} })(""[ {name:'zhangsan',age:99},{name:'lisi',age:77}]"); for(var b in obj)alert(obj[b].name);
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |