• Json格式转化为string格式


    今天在学习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。

     
  • 相关阅读:
    How to print GETDATE() in SQL Server with milliseconds in time?
    StarLink卫星网络如何工作
    Chinasat16
    天线增益计算
    Schemachine
    源代码之整洁代码
    关于进程内缓存与分布式缓存
    IOT物联网时代测试演化
    互联网大促运维实践案例
    Kubernetes应用场景
  • 原文地址:https://www.cnblogs.com/qiao-xi/p/3903251.html
Copyright © 2020-2023  润新知