javaScript动态创建数组、动态赋值json数据方法之一(持续补充)

来源:互联网 发布:网络打印机服务器 编辑:程序博客网 时间:2024/06/06 07:17
/*测试:动态创建数组,动态赋值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);



0 0
原创粉丝点击