js 将json对象转成字符串

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>将json对象转成字符串 - Lellansin</title>
<script>
    var jsonObj = {
        "qq":"321321321",
        "MSN":"asdf@asdf.com",
        "Tel":"0852-8888888"
    };
    var jStr = "{ ";
    for(var item in jsonObj){
        jStr += "'"+item+"':'"+jsonObj[item]+"',";
    }
    jStr += " }";
    alert(jStr);
</script>
</head>
<body>
</body>
</html>

最近写了一个表单里面要存的一个字段是使用json字符串格式存的,从数据库里面取下来的时候用的倒是挺爽,可是要存就有点麻烦了,当时一下子没有想到,后来去百度了一下,结果搜到的是用正则来拼接的,感觉挺麻烦的。随后跟别人讨论的过程中突然就想到了这样的办法,方法本身挺简单的,就只是网上搜不到,一下子也没想到罢了,这里做个记录,各位看着觉得简单也就见笑了。

除此之外还可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

或者

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

alert(last);

 不过需要注意的是,处理json数据这些方法除了eval()函数是js自带的之外,其他的很多处理json的函数,版本都比较新,可能会出现找不到方法的错误。一般来讲的话,我们都还是要劲量把客户的环境考虑的恶劣一些,所以,还是推荐用最开始的方法。

 

PS:最后一个会多出来一个","号,为了让代码看起来更简单没有处理.

实际上逗号是一定要删掉的,目前已经发现在IE7下会报错

posted @ 2012-07-20 13:40  Lellansin  阅读(80488)  评论(9编辑  收藏  举报
魔舟网络 作者博客:lellansin@gmail.com