下面代码是html代码片段,实现点击按钮解析json格式数据并alert内容

<input type="button" value="button" οnclick="clicks();"/>

下面是js函数代码:

var json = {
    contry:{
     area:{
      man:"12万",
      women:"10万"
     }
    }
   };//方式一:使用eval解析
   var obj = eval(json);
   alert(obj.constructor);
   alert(obj.contry.area.women);
   //方式二:使用Funtion函数
   var strJSON = "{name:'json name'}";//得到的JSON
   var obj = new Function("return" + strJSON)();//转换后的JSON对象
   alert(obj.name);//json name
   alert(obj.constructor);
   //复杂一点的json数组数据的解析
   var value1 = [ 
     {"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"},
      {"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"},
     {"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}
      ]; 
   var obj1 = eval(value1);
   alert(obj1[0].c01);
  //复杂一点的json的另一种形式
   var value2 = {
      "list":[
       {"password":"1230","username":"coolcooldool"},
       {"password":"thisis2","username":"okokok"}
       ],
      "array":[
       {"password":"1230","username":"coolcooldool"},
       {"password":"thisis2","username":"okokok"}
       ]
      };
   var obj2 = eval(value2);
   alert(obj2.list[0].password);
  }

4、eval

1这种形式将使得性能显著降低,因为它必须运行编译器

2eval函数还减弱了你的应用的安全性,因为它给被求值的文本赋予了太多的权力。就像with语句执行的方式一样,它降低了语言的性能

3Function构造器是eval的另一种形式,所以它同样也应该被避免使用。