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中的prototype属性实例分析说明
Aug 09 Javascript
JavaScript实现自己的DOM选择器原理及代码
Mar 04 Javascript
js正则表达式的使用详解
Jul 09 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
Jan 02 Javascript
jQuery实现类似标签风格的导航菜单效果代码
Aug 25 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
利用javascript如何随机生成一定位数的密码
Sep 22 Javascript
vue项目引入字体.ttf的方法
Sep 28 Javascript
详解ES6 export default 和 import语句中的解构赋值
May 28 Javascript
vue如何实现自定义底部菜单栏
Jul 01 Javascript
8 个有用的JS技巧(推荐)
Jul 03 Javascript
vue中的可拖拽宽度div的实现示例
Apr 08 Vue.js
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
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
php使用curl检测网页是否被百度收录的示例分享
2014/01/31 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
2016/06/12 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
Angular8路由守卫原理和使用方法
2019/08/29 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
Python3中的bytes和str类型详解
2019/05/02 Python
深入了解Python在HDA中的应用
2019/09/05 Python
python将字母转化为数字实例方法
2019/10/04 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
计算机专业个人求职自荐信
2013/09/21 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
经济管理自荐书
2014/06/09 职场文书
反腐倡廉标语
2014/06/24 职场文书
Python基础之变量的相关知识总结
2021/06/23 Python
Python FuzzyWuzzy实现模糊匹配
2022/04/28 Python
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL