注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云淡风轻

云淡风轻近午天,傍花随柳过前川。

 
 
 

日志

 
 

js json encoder  

2007-09-05 18:24:39|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
很无聊的代码。
把一个javascript对象转成符合json标准的字符串:
function json(obj){
    var i, r=[];
    if(obj === null)return "null";
    if(obj === undefined)return "undefined";

    var cname = obj.constructor.name;
    if(cname == "String"){
        return '"'+obj+'"';
    }
    if(cname == "Number"){
        return obj
    }
    if(cname == "Array"){
        for(i=0; i<obj.length; i++){
            r.push(json(obj[i]))
        }       
        return "[" + r.join(", ") + "]"
    }
    if(cname == "Function"){
        return ""+obj;
    }
    if(cname == "Boolean"){
        return obj ? "true" : "false"
    }
    if(cname == "Object" || typeof obj == "object"){
        for(i in obj){
            r.push(i + ": " + json(obj[i]))
        }       
        return "{" + r.join(", ") + "}"
    }
    return "unimplement"
}
写完之后才想起来,json网站上应该有人实现过的了。过去一看,果然。只不过它是改了对象的prototype的,代码
  评论这张
 
阅读(398)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017