为什么JSON格式的名字部分加引号?

为什么 JSON格式的名字部分加引号

因为eval函数会将{foo:”bar”}解释成合法的JavaScript语句,而非表达式。但是人们往往想要的是让eval将这段代码解释成一个对象。所以JSON格式会强制在名字的外侧加上引号再结合圆括号,这样eval就不会错误的将JSON解释成代码块

举例说明

  • eval错误解析语义
alert(eval('{foo:"bar"}'));      // return "bar", incorrect
  • eval正确解析JSON
alert(eval('({"foo": "bar"})')); // return JSON object, correct
http://www.cnblogs.com/FineDay/archive/2011/06/27/2091455.html

你可能感兴趣的:(JavaScript,html,json)