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