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;