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 相关文章推荐
TimergliderJS 一个基于jQuery的时间轴插件
Dec 07 Javascript
js异步加载的三种解决方案
Mar 04 Javascript
在js文件中写el表达式取不到值的原因及解决方法
Dec 23 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
Jan 07 Javascript
js实现的简洁网页滑动tab菜单效果代码
Aug 24 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
SpringMVC+bootstrap table实例详解
Jun 02 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
Aug 25 Javascript
Vue 中对图片地址进行拼接的方法
Sep 03 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
Sep 19 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 Javascript
JavaScript动态检测密码强度原理及实现方法详解
Jun 11 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
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
2020/08/06 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
详细分析JS函数去抖和节流
2017/12/05 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
让python在hadoop上跑起来
2016/01/27 Python
使用Python进行AES加密和解密的示例代码
2018/02/02 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
python3 常见解密加密算法实例分析【base64、MD5等】
2019/12/19 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
CSS3 渐变(Gradients)之CSS3 径向渐变
2016/07/08 HTML / CSS
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
索桥的故事教学反思
2014/02/06 职场文书
学校节能减排方案
2014/06/13 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书