在javascript中将对象数组的某些字段转换为json数据?

时间:2016-11-24 11:26:42

标签: javascript

我有一个如下所述的对象数组,

  var arraydata =[
{ id:1, name:"Abraham", age:20,gender:"male"},
{ id:2, name:"Annie", age:25,gender:"female"},
{ id:3, name:"Ryan", age:40,gender:"male"},
{ id:4, name:"Wayne", age:31,gender:"male"},
{ id:5, name:"Paul", age:45,gender:"male"}
];

如何将其转换为只有“id”和“name”字段的JSON数据?

3 个答案:

答案 0 :(得分:3)

语法错误age=20,gender="male"将其更改为age:20,gender:"male"

var arraydata =[
{ id:1, name:"Abraham", age: 20, gender:"male"},
{ id:2, name:"Annie", age: 25, gender:"female"},
{ id:3, name:"Ryan", age: 28, gender:"male"},
{ id:4, name:"Wayne", age: 19, gender:"male"},
{ id:5, name:"Paul", age: 45,gender:"male"}
];
var ans= arraydata.map(function(a){
return {id:a.id,name:a.name};
})
console.log(ans);

答案 1 :(得分:0)

var arraydata =[
{ id:1, name:"Abraham", age: 20, gender: "male"},
{ id:2, name:"Annie", age: 25, gender: "female"},
{ id:3, name:"Ryan", age: 28, gender: "male"},
{ id:4, name:"Wayne", age: 19, gender: "male"},
{ id:5, name:"Paul", age: 45, gender: "male"}
];


var _ = arraydata.map(function(item) {
    return { id: item.id, name: item.name };
});

var jsonData = JSON.stringify(_);

console.log(jsonData);

您当然可以将这两个步骤链接在一起。

Fiddle

答案 2 :(得分:0)

您可以使用从对象中删除属性的delete operator



  var arraydata = [{
    id: 1,
    name: "Abraham",
    age : 20,
    gender : "male"
  }, {
    id: 2,
    name: "Annie",
    age : 25,
    gender : "female"
  }, {
    id: 3,
    name: "Ryan",
    age : 40,
    gender : "male"
  }, {
    id: 4,
    name: "Wayne",
    age : 31,
    gender : "male"
  }, {
    id: 5,
    name: "Paul",
    age : 45,
    gender : "male"
  }];

arraydata.forEach(function(item){ delete item.age; delete item.gender });

  console.log(arraydata);