JSON polyfill:JSON 2还是JSON 3?

Chr*_*phe 20 json polyfills

我需要一个JSON polyfill来支持IE 7和一些IE 8和IE 9模式.我应该选择JSON 2还是JSON 3?显然JSON 3是一个更现代的实现,但是例如像html5please这样的网站甚至没有提及它并推荐JSON 2.

sam*_*sam 14

我想知道同样的事情.JSON3说:

JSON 2的变化

JSON 3 ......

  • 正确地序列化原始包装器对象(问题#28).
  • TypeError序列化循环结构时抛出一个(JSON 2递归直到调用堆栈溢出).
  • 利用功能测试来检测损坏或不完整的本机 JSON实现(JSON 2仅检查本机功能的存在).测试仅在运行时执行一次,因此在解析或序列化值时不会产生额外的性能成本.

与JSON 2相比,JSON 3 ...

  • 添加toJSON()方法的Boolean,NumberString原型.这些不是任何标准的一部分,并且通过实现的设计而变得多余stringify().
  • 添加toJSON()toISOString()方法Date.prototype.请参阅下面有关日期序列化的说明.

bestiejs.github.com/json3/

HTML5请说:

JSON 3是一个与几乎所有JavaScript平台兼容的polyfill.它是JSON 2的直接替代品,它使用功能测试来检测破坏和不完整的本机JSON实现,支持 异步模块加载器has感知优化器,并且是按照规范标准构建的.

JSON 2是道格拉斯·克罗克福德(Douglas Crockford)的旧式替代填充物.


Jen*_*ing 12

HTML5请更新他们的JSON页面,将JSON 3作为主要的polyfill使用,JSON 2作为旧版替代品的后座.


Jel*_*ing 5

如果要在IE7(可能是8)中提高页面性能,请使用json2.js.我很高兴使用json3几个月,然后我看到了这个问题并做了一些研究.在我的IE7 VM中,所有jsperf的执行速度都比json2.js提高了1-2倍.

一个例子:

http://jsperf.com/json-vs-jquery-json/2