全国统一服务热线:400-633-9193

JS实现将二维数组转为json格式字符串操作示例

    网络     2018-08-30    2076

本文实例讲述了JS实现将二维数组转为json格式字符串操作。分享给大家供大家参考,具体如下:

<!doctype html>

<html>

<head>

  <meta charset="utf-8">

  <title>json</title>

  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>

  <script>

  $(function(){

    /*******遍历二维数组*********/

    //定义数组

    var arr=new Array();

    arr =[[1,2],[1,2],[1,2],[1,2]]; //初始化二维数组

    var i,j;

    for(i=0;i<arr.length;i++){

      var arr_l=new Array();//获取二维数组中的一维数组

      arr_1=arr[i];

      //遍历一维数组

      for(j=0;j<arr_1.length;j++){

        //alert(arr_1[j]); // arr_1:表示一位数组中的值

        document.write(arr_1[j]);

      }

    }

    document.write("<br>");

    var array = [[10, 100, 1000], [1000, 100, 10]];

    // encodeArray2D方法

    var jsonStr = encodeArray2D(array);

    //alert(jsonstr);

    document.write(jsonStr);

    document.write("<br>");

    // arrayToJson方法

    var jsonStr2 = arrayToJson(array);

    document.write(jsonStr2);

  });

  /**

  * 将二维数组转为 json 字符串

  */

  function encodeArray2D(obj) {

    var array = [];

    for (var i = 0; i < obj.length; i++) {

      array[i] = '[' + obj[i].join(',') + ']';

    }

    return '[' + array.join(',') + ']';

  }

  /**

  * 将二维数组转为 json 字符串

  */

  function arrayToJson(o) {

    var r = [];

    if (typeof o == "string") return "\"" + o.replace(/([\'\"\\])/g, "\\$1").replace(/(\n)/g, "\\n").replace(/(\r)/g, "\\r").replace(/(\t)/g, "\\t") + "\"";

    if (typeof o == "object") {

      if (!o.sort) {

        for (var i in o)

        r.push(i + ":" + arrayToJson(o[i]));

        if (!!document.all && !/^\n?function\s*toString\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)) {

        r.push("toString:" + o.toString.toString());

        }

        r = "{" + r.join() + "}";

      } else {

        for (var i = 0; i < o.length; i++) {

        r.push(arrayToJson(o[i]));

        }

        r = "[" + r.join() + "]";

      }

      return r;

    }

    return o.toString();

  }

</script>

</head>

<body>

</body>

</html>

使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun,测试运行结果如下:


12121212

[[10,100,1000],[1000,100,10]]

[[10,100,1000],[1000,100,10]]


  分享到:  
0.3069s