如何从包含四个属性的JSON对象创建包含两个属性的JSON对象

时间:2016-03-09 13:15:05

标签: javascript jquery json

我有一个像这样的JSON对象:

[
    {'car':'punto','brand':'fiat','color':'black','model':'2007'},

    {'car':'XUV500','brand':'Mahindra','color':'black','model':'2008'},

    {'car':'Eartiga','brand':'Maruti','color':'black','model':'2009'}
]

我想实现这个目标:

[
   {'car':'punto','brand':'fiat'},

   {'car':'XUV500','brand':'Mahindra'},

   {'car':'Eartiga','brand':'Maruti'}
]

如何使用javascript和Jquery实现它。任何帮助都会得到赞赏!

5 个答案:

答案 0 :(得分:3)

根据需要,您基本上有两种可能性来解决问题:

  • 使用新对象重建数组,保留原始数组;
  • 从每个对象中删除不需要的属性,从而修改原始数组。

var data = [{ 'car': 'punto', 'brand': 'fiat', 'color': 'black', 'model': '2007' }, { 'car': 'XUV500', 'brand': 'Mahindra', 'color': 'black', 'model': '2008' }, { 'car': 'Eartiga', 'brand': 'Maruti', 'color': 'black', 'model': '2009' }],
    data1 = data.map(function (a) {
        return { car: a.car, brand: a.brand };
    });

data.forEach(function (a) {
    delete a.color;
    delete a.model;
})

document.write('<pre>' + JSON.stringify(data, 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(data1, 0, 4) + '</pre>');

答案 1 :(得分:0)

你可以在javascript中使用map功能

试试这个

x = [{
  'car': 'punto',
  'brand': 'fiat',
  'color': 'black',
  'model': '2007'
}, {
  'car': 'XUV500',
  'brand': 'Mahindra',
  'color': 'black',
  'model': '2008'
}, {
  'car': 'Eartiga',
  'brand': 'Maruti',
  'color': 'black',
  'model': '2009'
}]

var result = x.map(function(v) {
  return {
    car: v.car,
    brand: v.brand
  }
})

document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>')

答案 2 :(得分:0)

您可以遍历数组中的每个项目,并使用您想要的数据创建一个新数组。

var originalArray = [{
  'car': 'punto',
  'brand': 'fiat',
  'color': 'black',
  'model': '2007'
}, {
  'car': 'XUV500',
  'brand': 'Mahindra',
  'color': 'black',
  'model': '2008'
}, {
  'car': 'Eartiga',
  'brand': 'Maruti',
  'color': 'black',
  'model': '2009'
}];

var newArray = [];
for (var i = 0; i < originalArray.length; i++) {
  var originalItem = originalArray[i];
  newItem = {
    car: originalItem.car,
    brand: originalItem.brand
  };
  newArray.push(newItem);
}
console.debug(newArray);

答案 3 :(得分:0)

&#13;
&#13;
var oldJson = [
  {'car':'punto','brand':'fiat','color':'black','model':'2007'},
  {'car':'XUV500','brand':'Mahindra','color':'black','model':'2008'},
  {'car':'Eartiga','brand':'Maruti','color':'black','model':'2009'}
];
var newJson = [];

for(var key in oldJson) {
  newJson.push({
    'car' : oldJson[key].car,
    'brand' : oldJson[key].brand
  })
}
console.log(newJson);
&#13;
&#13;
&#13;

答案 4 :(得分:0)

尝试此方法:

function getIwanttoList() {
    var data = [
        {
            'text': '----- Select what you want -----',
            'value': '',
        }, {
            'text': 'Ask a question',
            'value': 'AskAQuestion',
        }, {
            'text': 'Report a content issue',
            'value': 'ReportContentIssue',
        }, {
            'text': 'Propose an idea or quality improvement',
            'value': 'ProposeImprovements',
        }, {
            'text': 'Submit content for governance',
            'value': 'SubmitContent',
        }
    ];
    return data;
}