SDK 兼容 JSON
最近在集成融云 SDK,于是看了下融云的 SDK 源码,发现源码中有一段针对 JSON 的适配,由于针对 IE9 以下不支持 JSON 对象的处理方式,在此分享下
1、优点: 除中文外的字符都会转为 Unicode 。
2、缺点:JSON.parse() 使用 eval 进行转换的,这个方法不是很安全,还看到人介绍用 new Function ,但是没有测试,这里暂时标记下,有空测试下。
if (!window["JSON"]) {
window["JSON"] = (function () {
function JSON() {
}
JSON.parse = function (sJSON) {
return eval('(' + sJSON + ')');
};
JSON.stringify = function (value) {
return this.str("", {
"": value });
};
JSON.str = function (key, holder) {
var i, k, v, length, mind = "", partial