我有定义为 Javascript 对象的数据结构。我喜欢将它们串起来以通过网络发送。仅仅呼吁JSON.stringify()
他们似乎有效。但这是一个好习惯吗?
是否有任何特殊情况可能会中断(例如静态方法?)
我有定义为 Javascript 对象的数据结构。我喜欢将它们串起来以通过网络发送。仅仅呼吁JSON.stringify()
他们似乎有效。但这是一个好习惯吗?
是否有任何特殊情况可能会中断(例如静态方法?)
如果你只是发送数据而不是函数,它会正常工作。但是 JSON 只能携带值,而不是函数。较旧的浏览器(< IE8)本身没有 JSON 对象,因此您必须提供回退解决方案(像 jQuery 这样的框架会自动实现回退)。
JSON 是 JS 的一个子集,所以从这个角度来看,它是 100% 没问题的。
JSON 还打算转换成 JS 进行操作,再转换回来,发送出去或存储。
因此,将对象转换为 JSON 是预期目的的一部分,而不是必须手动编写所有 JSON。
在特殊情况下,JSON 可以不包含任何函数,不包含循环引用……除了字符串、数字和布尔值,嵌套对象和数组内部。
如果这已经是您的数据的格式,那么您就完成了。
IE6 和 7 没有原生 JSON 支持。
但是,json2.js 是来自 Douglas Crockford 的文件,所有本机实现都基于该文件。
如果!window.JSON
然后加载该文件,它将在 OldIE 中正常工作。