本文实例讲述了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.jb51.net/code/HtmlJsRun,测试运行结果如下:
12121212
[[10,100,1000],[1000,100,10]]
[[10,100,1000],[1000,100,10]]
PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans
更多关于JavaScript相关内容可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。