Javascript 使用node.js将多维数组转换为JSON

Javascript 使用node.js将多维数组转换为JSON,javascript,arrays,json,node.js,Javascript,Arrays,Json,Node.js,在组合了几个简单数组之后,我得到了一个大的多维数组,现在我需要在将其发送到Mongodb之前将其转换为JSON字符串。以下是阵列结构: [ '0', [ [ 'id', 1 ], [ 'country', 0 ], [ 'people', 3 ], [ 'name', 'WELLINGTON ALFRED' ], [ 'location', 'hill' ], [ 'filename', 243245.PDF]]] 在Node.js中执行此操作的最佳

在组合了几个简单数组之后,我得到了一个大的多维数组,现在我需要在将其发送到Mongodb之前将其转换为JSON字符串。以下是阵列结构:

[ '0',
  [ [ 'id', 1 ],
    [ 'country', 0 ],
    [ 'people', 3 ],
    [ 'name', 'WELLINGTON ALFRED' ],
    [ 'location', 'hill' ],
    [ 'filename', 243245.PDF]]]
在Node.js中执行此操作的最佳实践是什么?
谢谢,这是事先准备好的

您完全可以使用
JSON.stringify

string\u for\u mongo=JSON.stringify(您的\u数组)

但您也可以使用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;
}
//数组
var arr=[
[“状态”、“名称”、“标记”、“位置”],
[“活动”、“Akash”、10.0、“Web开发者”],
[“活动”、“Vikash”、10.0、“前端开发”],
[“deactive”,“Manish”,10.0,“designer”],
[“活动”、“Kapil”、10.0、“JavaScript开发人员”],
[“活动”、“Manoj”、10.0、“角度显影剂”],
];
//javascript从二维数组创建JSON对象
函数arrayToJSONObject(arr){
//标题
var keys=arr[0];
//从主数组中腾出密钥
var newArr=arr.slice(1,arr.length);
var格式=[],
数据=newArr,
cols=键,
l=cols.长度;

对于(var i=0;我是谁首先创建了这样的数组?@我正在迭代大数组并将每个子数组发送到Mongodb,这只是一个子数组,索引为“0”。这是console.log(string_for_mongo);[“0”,“id”,“1”,“country”,“0”,“people”,“3”,“name”,“WELLINGTON ALFRED”],[“location”,“hill”][“filename”,“243245.PDF”]]
…是的,这是JSONLint(JSON验证器)的有效JSON。