javascript toJson

Object.prototype.deep_clone = function(){   
     eval("var tmp = " + this.toJSON());   
    return tmp;   
}   
Object.prototype.toJSON = function(){   
     var json = [];   
    for(var i in this){   
        if(!this.hasOwnProperty(i)) continue;   
        //if(typeof this[i] == "function") continue;   
         json.push(   
             i.toJSON() + " : " +   
             ((this[i] != null) ? this[i].toJSON() : "null")   
         )   
     }   
    return "{\n " + json.join(",\n ") + "\n}";   
}   
Array.prototype.toJSON = function(){   
    for(var i=0,json=[];i<this.length;i++)   
         json[i] = (this[i] != null) ? this[i].toJSON() : "null";   
    return "["+json.join(", ")+"]"  
}   
  
String.prototype.toJSON = function(){   
    return '"' +   
        this.replace(/(\\|\")/g,"\\$1")   
         .replace(/\n|\r|\t/g,function(){   
             var a = arguments[0];   
            return   (a == '\n') ? '\\n':   
                     (a == '\r') ? '\\r':   
                     (a == '\t') ? '\\t': ""  
         }) +   
        '"'  
}   
Boolean.prototype.toJSON = function(){return this}   
Function.prototype.toJSON = function(){return this}   
Number.prototype.toJSON = function(){return this}   
RegExp.prototype.toJSON = function(){return this}   
  
// strict but slow   
String.prototype.toJSON = function(){   
     var tmp = this.split("");   
    for(var i=0;i<tmp.length;i++){   
         var c = tmp[i];   
         (c >= ' ') ?   
             (c == '\\') ? (tmp[i] = '\\\\'):   
             (c == '"')   ? (tmp[i] = '\\"' ): 0 :   
         (tmp[i] =   
             (c == '\n') ? '\\n' :   
             (c == '\r') ? '\\r' :   
             (c == '\t') ? '\\t' :   
             (c == '\b') ? '\\b' :   
             (c == '\f') ? '\\f' :   
             (c = c.charCodeAt(),('\\u00' + ((c>15)?1:0)+(c%16)))   
         )   
     }   
    return '"' + tmp.join("") + '"';   
}  
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值