2

我有定义为 Javascript 对象的数据结构。我喜欢将它们串起来以通过网络发送。仅仅呼吁JSON.stringify()他们似乎有效。但这是一个好习惯吗?

是否有任何特殊情况可能会中断(例如静态方法?)

4

2 回答 2

3

如果你只是发送数据而不是函数,它会正常工作。但是 JSON 只能携带,而不是函数。较旧的浏览器(< IE8)本身没有 JSON 对象,因此您必须提供回退解决方案(像 jQuery 这样的框架会自动实现回退)。

于 2012-10-08T12:59:07.707 回答
1

JSON 是 JS 的一个子集,所以从这个角度来看,它是 100% 没问题的。

JSON 还打算转换成 JS 进行操作,再转换回来,发送出去或存储。

因此,将对象转换为 JSON 是预期目的的一部分,而不是必须手动编写所有 JSON。

在特殊情况下,JSON 可以不包含任何函数,不包含循环引用……除了字符串、数字和布尔值,嵌套对象和数组内部。

如果这已经是您的数据的格式,那么您就完成了。

IE6 和 7 没有原生 JSON 支持。
但是,json2.js 是来自 Douglas Crockford 的文件,所有本机实现都基于该文件。
如果!window.JSON然后加载该文件,它将在 OldIE 中正常工作。

于 2012-10-08T13:20:42.057 回答