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 数组的方法集合
Jun 05 Javascript
JavaScript 学习笔记(十二) dom
Jan 21 Javascript
JavaScript中的作用域链和闭包
Jun 30 Javascript
js模拟点击以提交表单为例兼容主流浏览器
Nov 29 Javascript
三种方式获取XMLHttpRequest对象
Apr 21 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
Jan 29 Javascript
jQuery插件开发汇总
May 15 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
angular2 ng2 @input和@output理解及示例
Oct 10 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
Aug 30 Javascript
JS实现灯泡开关特效
Mar 30 Javascript
vue 实现特定条件下绑定事件
Nov 09 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合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
2016/12/14 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python字符串替换示例
2014/04/24 Python
用Python编写简单的微博爬虫
2016/03/04 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
python中的itertools的使用详解
2020/01/13 Python
个人实用简单的自我评价
2013/10/19 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
道歉情书大全
2015/05/12 职场文书
西安事变观后感
2015/06/12 职场文书
公司出差管理制度范本
2015/08/05 职场文书
JavaScript实现两个数组的交集
2022/03/25 Javascript
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL