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


Posted in Javascript onJuly 12, 2018

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

<!doctype html>
<html lang="en">
<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.3water.com/code/HtmlJsRun,测试运行结果如下:

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

Javascript 相关文章推荐
一款JavaScript压缩工具:X2JSCompactor
Jun 13 Javascript
JQuery扩展插件Validate—4设置错误提示的样式
Sep 05 Javascript
浅谈JS日期(Date)处理函数
Dec 07 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 Javascript
关于JS中prototype的理解
Sep 07 Javascript
Bootstrap每天必学之媒体对象
Nov 30 Javascript
ionic 上拉菜单(ActionSheet)实例代码
Jun 06 Javascript
基于js里调用函数时,函数名带括号和不带括号的区别
Jul 28 Javascript
jQuery基本过滤选择器用法示例
Sep 09 Javascript
JavaScript数组的5种迭代方法
Sep 29 Javascript
浅谈Vue数据绑定的原理
Jan 08 Javascript
如何优雅地取消 JavaScript 异步任务
Mar 22 Javascript
vue路由组件按需加载的几种方法小结
Jul 12 #Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 #jQuery
使用json-server简单完成CRUD模拟后台数据的方法
Jul 12 #Javascript
教你如何用node连接redis的示例代码
Jul 12 #Javascript
angular 内存溢出的问题解决
Jul 12 #Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
Jul 12 #Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
Jul 12 #Javascript
You might like
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
[原创]用javascript实现检测指定目录是否存在的方法
2008/01/12 Javascript
js模拟类继承小例子
2010/07/17 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
2012/11/14 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
微信小程序自定义弹窗wcPop插件
2018/11/19 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
[02:33]2018DOTA2亚洲邀请赛赛前采访——LGD
2018/04/04 DOTA
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
详解django.contirb.auth-认证
2018/07/16 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
Python实现微信表情包炸群功能
2021/01/28 Python
Internal修饰符有什么含义
2013/07/10 面试题
介绍一下Linux中的链接
2016/06/05 面试题
护士求职推荐信范文
2013/11/23 职场文书
便利店的创业计划书
2014/01/15 职场文书
中国梦读书活动总结
2014/07/10 职场文书
班组拓展活动方案
2014/08/14 职场文书
从事会计工作年限证明
2015/06/23 职场文书
企业催款函范本
2015/06/24 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL