js 解析json
2015-12-18 14:59
671 查看
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的另一种形式,所以它同样也应该被避免使用。
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的另一种形式,所以它同样也应该被避免使用。
相关文章推荐
- json小例子
- javascript DOM编程艺术(笔记)
- jsp页面校验数字 正则表达式
- json2.js的作用与使用示例
- js获取url传值的方法
- js验证input不为空且两次输入密码相同
- Ext.js5的带分页的表格(10)
- Servlet/JSP随笔录
- 利用VBA将excel数据表生成JSON文件(utf8)
- 计时器 setInterval clearInterval setTimeout
- jsp页面出现两个相同id的标签的读取顺序
- Ext.js5的表格的排序扩展(7)
- javascript级联菜单的操作
- leetcode(58)Length of Last Word js代码实现
- Ext.js5带子标题的标题的表格(6)
- JavaScript setTimeout使用闭包功能实现定时打印数值
- JS如何获取上传标签的文件路径和文件名?
- javascript JSON.stringify 语法实例讲解
- JavaScript验证手机号是否正确(正则表达式)
- Javascript生成GUID