使用node.js将多维数组转换为JSON
Convert a multidimensional array to JSON with node.js
在组合了几个简单数组后,我得到了一个BIG多维数组,现在我需要在将其发送到Mongodb之前将其转换为JSON字符串。以下是阵列结构:
[ '0',
[ [ 'id', 1 ],
[ 'country', 0 ],
[ 'people', 3 ],
[ 'name', 'WELLINGTON ALFRED' ],
[ 'location', 'hill' ],
[ 'filename', 243245.PDF]]]
在Node.js中最好的做法是什么?提前感谢!
您完全可以使用JSON.stringify
string_for_mongo = JSON.stringify(your_array)
但是您也可以将这些驱动程序中的任何一个用于mongodb
如果你想将这些数组转换为对象,你可以使用类似的东西
pairs = {}
for ( pair in your_array[1] ) { pairs[your_array[1][pair][0]] = your_array[1][pair][1] }
objekt = {}
objekt[your_array[0]] = pairs
我认为没有比不使用这样的数组更好的解决方案了。尝试从一开始就在对象中形成数据。
没有内置的方法。
您可以使用以下功能:
//array
var arr = [
["Status", "Name", "Marks", "Position"],
["active", "Akash", 10.0, "Web Developer"],
["active", "Vikash", 10.0, "Front-end-dev"],
["deactive", "Manish", 10.0, "designer"],
["active", "Kapil", 10.0, "JavaScript developer"],
["active", "Manoj", 10.0, "Angular developer"],
];
//javascript create JSON object from two dimensional Array
function arrayToJSONObject (arr){
//header
var keys = arr[0];
//vacate keys from main array
var newArr = arr.slice(1, arr.length);
var formatted = [],
data = newArr,
cols = keys,
l = cols.length;
for (var i=0; i<data.length; i++) {
var d = data[i],
o = {};
for (var j=0; j<l; j++)
o[cols[j]] = d[j];
formatted.push(o);
}
return formatted;
}
参考:点击此处
注意:这可能不会给出问题中给出的输入所需的输出。我已经提供了将在
arr
中工作的输入类型。
相关文章:
- 使用JS将数组转换为json对象
- 本地存储中的字符串到字节数组转换
- Javascript函数,用于将数组转换为“;2-元组”;
- php数组转换为javascript
- 在Javascript中将一个值和字符串数组转换为if语句
- 将数组转换为javascript格式的字符串
- 如何将数组转换为有效的json
- JSON数组转换为JS对象数组
- 如何将数组转换为映射
- JavaScript:将字符串数组转换为文本区域
- javascript |数组转换
- 数组转换为多个字符串
- Javascript将数组转换为字符串并使其反向输出
- 将Byte数组转换为Angularjs中的Base64字符串
- 将对象数组转换为与nodejs/pg/unnest兼容的数组
- 将Javascript数组转换为PHP数组
- 将数组转换为键值对
- 使用Ramda将对象数组转换为普通对象
- javascript将对象数组转换为字符串以存储在s3中
- 使用.join方法将数组转换为不带逗号的字符串