首页 > Web开发 > 详细

Json格式转化为string格式

时间:2014-08-10 21:20:10      阅读:552      评论:0      收藏:0      [点我收藏+]

今天在学习Jsonp的时候,想通过服务端返回一段json数据,因为使用的服务端是NodeJs,那么就需要在js文件中实现返回json。(这里不懂的同学,可以先了解一下NodeJs的基础概念,在这里,我想大家推荐一个Nodejs视频  http://www.icoolxue.com/album/show/89)。

首先,我们有这样一个json格式

var json={name:"xlt",age:25

如果我们直接把上面这个”json对象“返回给客户端,那么客户端都不知道怎么接受(至于为什么客户端接受不了,可以查询一下html相关的文档),所以这个把我们就需要把这个对象转化为一个字符串,然后在返回给客户端。因此我自己写了一个转化方法

//入口方法
function json2str(obj)
{
  var S = [];
  for(var i in obj){
    obj[i] = typeof obj[i] == ‘string‘
        ?‘"‘+obj[i]+‘"‘
        :(Object.prototype.toString.apply(obj[i]) === ‘[object Object]‘
        ?json2str(obj[i])
        :(Object.prototype.toString.apply(obj[i]) === ‘[object Array]‘
        ?array2str(obj[i])
        :obj[i])
         );
    S.push(i+‘:‘+obj[i]); 
  }
    return ‘{‘+S.join(‘,‘)+‘}‘;
}
//辅助方法
function array2str(array)
{
    var S=[];
    var ret;
    for(var i=0;i<array.length;i++)
    {
        ret= json2str(array[i]);
        S.push(ret);
    }
    return ‘[‘+S.join(‘,‘)+‘]‘;
}

 

然后,我们现在使用这个方法,就可以得到相应的字符串,由于代码比较简单,就不做详解了。

  当然对于比较复杂的json对象,我也做了考虑。比如说


var json={name:"xlt",age:25,sister:{name:"xlp",age:28}};
或者更复杂的下面这种

 

var json={name:"xlt",age:25,sister:[{name:"xlp",age:28},{name:"xll",age:29}]};

 

 最后呢,我从网上找了一些关于json转化的资料。大家可以参考一下   https://github.com/douglascrockford/JSON-js/blob/master/json2.js。

 

Json格式转化为string格式,布布扣,bubuko.com

Json格式转化为string格式

原文:http://www.cnblogs.com/qiao-xi/p/3903251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!