JSON(JavaScript Object Notation)是一种易于人们阅读和编写、同时也易于机器解析和生成的轻量级的数据交换格式。它是基于 JavaScript Programming Language 和 Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON 采用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括 C,C++,C#,Java,JavaScript,Perl,Python 等)。这些特性使 JSON 成为了理想的数据交换语言。
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
关于 JSON 的更多内容,请参考 www.json.org 的 介绍 JSON。
JSON 字符串或对象直接量的最后一个键值对后加 ',' 在 IE6 IE7 IE8(Q) 浏览器中会导致脚本中断。
该问题将导致脚本不能按照预期的效果正常执行。
IE6 IE7 IE8(Q) |
---|
分析以下代码:
<script language="JavaScript"> var jsonObj = {key1:"value1",key2:"value2",key3:"value3" ,}; alert(jsonObj.key1); </script>
以上代码在各浏览器中的运行结果如下:
IE6 IE7 IE8(Q) | 其他浏览器 |
---|---|
脚本执行出错,提示“缺少标识符、字符串或数字” | 脚本正常执行,弹出“value1” |
可见,JSON 字符串或对象直接量的最后一个键值对后加 ',' 在 IE6 IE7 IE8(Q) 浏览器中会导致脚本中断。
即便规范没有强调最后一个键值对的后边不能出现 ',',也要确保最后一个键值对之后没有多余的 ',',以兼容各浏览器。
操作系统版本: | Windows 7 Ultimate build 7600 |
---|---|
浏览器版本: |
IE6
IE7 IE8 Firefox 3.6 Chrome 4.0.302.3 dev Safari 4.0.4 |
测试页面: |
json.html
|
本文更新时间: | 2010-07-23 |
JSON 对象 直接量 逗号