网上找了找将js对象序列化为json字符串的方法。结果都不近人意,最后自己写了一个。

注意你得自己为Date增加toString()方法。

function Serialize(obj){
    switch(obj.constructor){
        case Object:
            var str = "{";
            for(var o in obj){
                str += o + ":" + Serialize(obj[o]) +",";
            }
            if(str.substr(str.length-1) == ",")
                str = str.substr(0,str.length -1);
            return str + "}";
            break;
        case Array:            
            var str = "[";
            for(var o in obj){
                str += Serialize(obj[o]) +",";
            }
            if(str.substr(str.length-1) == ",")
                str = str.substr(0,str.length -1);
            return str + "]";
            break;
        case Boolean:
            return "\"" + obj.toString() + "\"";
            break;
        case Date:
            return "\"" + obj.toString() + "\"";
            break;
        case Function:
            break;
        case Number:
            return "\"" + obj.toString() + "\"";
            break; 
        case String:
            return "\"" + obj.toString().replace(/"/g,"\\\"") + "\"";
            break;    
    }
}

  

相关文章:

  • 2021-11-01
  • 2022-12-23
  • 2021-12-10
  • 2022-02-07
  • 2021-12-02
  • 2022-02-07
  • 2021-12-21
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2022-01-26
  • 2022-02-04
  • 2021-11-27
  • 2022-12-23
  • 2021-11-01
相关资源
相似解决方案