js 替换json对象中的键名

时间:2023-03-09 06:35:55
js 替换json对象中的键名

js 替换json对象中的键名

CreateTime--2018年3月30日15:38:50

Author:Marydon

情景描述:

  有个json数组,现在需要将json对象中的key替换掉,值不变;

  将count改为value,goods改为name

var data = [
{count:335, goods:'直接访问'},
{count:310, goods:'邮件营销'},
{count:234, goods:'联盟广告'}
];

  方法一:通过map()实现

// 方法一
var data = [
{count:335, goods:'直接访问'},
{count:310, goods:'邮件营销'},
{count:234, goods:'联盟广告'}
].map(function(item) {
return {
name: item.goods,
value: item.count
}
});

  方法二:

// 方法二
var JSONObject = {data:[
{count:335, goods:'直接访问'},
{count:310, goods:'邮件营销'},
{count:234, goods:'联盟广告'}
]};
// 取到data所对应的json数组
var JSONArray = JSONObject.data;
// 声明一个数组,用于存储多个json对象
var JSONArray2 = [];
// 声明一个json对象,用于临时存储json数据
var tempJson = {};
// 遍历数组
for (var i in JSONArray) {
// 清空json对象
tempJson = {};
// 添加json元素(key-goods)并赋值(value)
tempJson['name'] = JSONArray[i].goods;
// 设置key=value所对应的值并添加到tempJson对象中
tempJson['value'] = JSONArray[i].count; JSONArray2[i] = tempJson;
}
alert(JSONArray2[0].name);
// 改变JSONObject中key=data的值
JSONObject.data = JSONArray2;

相关推荐:

  javascript JSON