如何在javascript中转换对象数组

时间:2017-05-22 18:51:46

标签: javascript angularjs json

请,我想将我的对象数组转换为对象或json。 这是一个示例预览。

var data = [ 
       {"code":"M","montant":"2000","title":"Masculin"},                                                 
      {"code":"F","montant":"1000","title":"Femini"},
      {"code":"X","montant":"5000","title":"Others"}
];

我想要

var data = {"code":"M","montant":"2000","title":"Masculin"},                                                 
          {"code":"F","montant":"1000","title":"Femini"},
          {"code":"X","montant":"5000","title":"Others"};

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:0)

嗯,我认为你可以通过这种方式实现这一目标......



var data = [ 
       {"code":"M","montant":"2000","title":"Masculin"},                                                 
      {"code":"F","montant":"1000","title":"Femini"},
      {"code":"X","montant":"5000","title":"Others"}
];

var myObj = {};

data.map(function(item, idx) {
	myObj['key'+idx] = item;
});

console.log(myObj);




答案 1 :(得分:0)

第二个代码示例不是有效的javascript。如果要转换数组使用。

var stringData = JSON.stringify(data);将此转换为字符串。

答案 2 :(得分:0)

以下是有效语法。

var data = {"code":"M","montant":"2000","title":"Masculin"},                                                 
          {"code":"F","montant":"1000","title":"Femini"},
          {"code":"X","montant":"5000","title":"Others"};

如果要在变量中存储多个对象,则需要一个数组。要用JSON表示你的数据,那就是。

{
    "data": [
        {"code":"M","montant":"2000","title":"Masculin"},                                                 
        {"code":"F","montant":"1000","title":"Femini"},
        {"code":"X","montant":"5000","title":"Others"}
    ]
}

您可以通过执行以下操作将data数组转换为JSON:

var json = JSON.stringify(data);

答案 3 :(得分:0)

虽然还不完全清楚你想要实现的目标,但是这里有一种方法来构造一个具有与数据数组条目中的代码匹配的属性的对象。这里的方法使用了这样一个事实:您可以使用[" attrname"]来处理对象属性,因此我们遍历您的数组并使用数组条目的一个属性来提供新对象的属性。

请注意,如果源数组中有多个条目具有相同的代码值,则最终条目将覆盖先前的条目。

输出如下:

{
  "M": {
    "code": "M",
    "montant": "2000",
    "title": "Masculin"
  },
  "F": {
    "code": "F",
    "montant": "1000",
    "title": "Femini"
  },
  "X": {
    "code": "X",
    "montant": "5000",
    "title": "Others"
  }
}



var data = [ 
       {"code":"M","montant":"2000","title":"Masculin"},                                                 
      {"code":"F","montant":"1000","title":"Femini"},
      {"code":"X","montant":"5000","title":"Others"}
];

var newObj = {};

for (var i = 0; i < data.length; i = i + 1){
  var obj = data[i]
  newObj[obj.code] = obj;
}

console.log(newObj);
&#13;
&#13;
&#13;