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.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);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值