随着javascript的越来越流行,JSON格式的数据类型也受到越来越广泛的应用。下面记录几点JSON使用时的注意事项。
1. JSON数据格式:
var a = '{"key": "value"}';
var b = '[{"key1": "value1"},{"key2": "value2"}]';
注意两点:属性必须得用双引号" "来括起来,不得用单引号' '
2. JSON数据格式解析:
var a = '{"key": "value"}';
var obj = JSON.parse(a);
var obj2 = eval('(' + a + ‘)');
JSON.parse 和 eval的区别:
JSON.parse 不支持IE 7.0以下
JSON.parse 比eval更安全,eval会把整个代码显示在用户面前。(还没有时间亲自测试,不过按照eval本身其实就是执行代码的功能来看,这点是对的)
这里提下eval的用法:
Definition and Usage
The eval() function evaluates or executes an argument.
If the argument is an expression, eval() evaluates the expression. If the argument is one or more JavaScript statements, eval() executes the statements.
这里其实涉及到了javascript本身的两个知识点,表达式和执行语句。试下以下两个语句就可以很好理解了。不加括号,js会解析成一段空的执行语句。加了括号就相当于一个表达式,从而转换成了object。
var a = alert(eval("{}")); // return undefined
alert(eval("({})"));// return object[Object]