SJ9006: 在 IE6 IE7 IE8(Q) 中不能在 JSON 字符串或对象直接量的最后一个键值对后加 ','

标准参考

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) 浏览器中会导致脚本中断。

解决方案

即便规范没有强调最后一个键值对的后边不能出现 ',',也要确保最后一个键值对之后没有多余的 ',',以兼容各浏览器。


转自:http://www.w3help.org/zh-cn/causes/SJ9006

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值