如何将 JSON 数组转换为 JSON 对象?

How to convert JSON Array to JSON object?

我有一个 json 数组。我需要带这个:

[
  {"id": ["1"],
   "title": ["hello"],
   "start": ["2016-05-20"],
   "end": ["2016-05-25"],
  }
]

对此:

[
  {"id": "1",
   "title: "hello",
   "start": "2016-05-20",
   "end": "2016-05-25",
  }
]

怎么做?

使用forEach and Object.keys()

var data = [{
  "id": ["1"],
  "title": ["hello"],
  "start": ["2016-05-20"],
  "end": ["2016-05-25"],
}];
data.forEach(function(obj) {
  Object.keys(obj).forEach(function(v) {
    obj[v] = obj[v][0];
  });
});
console.log(data);

我们可以使用 .mapfor-in 循环

var test = [
  {"id": ["1"],
   "title": ["hello"],
   "start": ["2016-05-20"],
   "end": ["2016-05-25"],
  }
]
test.map(function(x){
  for(var key in x){
   x[key] = x[key].join('')
  }
  return x;
});

您可以使用 Array#forEach() 循环并使用第一个元素分配所有属性。

var array = [{ "id": ["1"], "title": ["hello"], "start": ["2016-05-20"], "end": ["2016-05-25"], }];

array.forEach(function (a) {
    Object.keys(a).forEach(function (k) {
        a[k] = a[k][0];
    });
});

console.log(array);