2017-08-31 189 views
-4

我应该如何转换成这种格式将对象转换为json?

{"Campaign Technical Approach Plan": "PM", 
    "Campaign Monitoring": "India", 
    "Email HTML Build": "India", 
    "Email Quality Assurance": "India"} 

从这种格式

[[Campaign Technical Approach Plan,__PM__LOCATION__], 
    [Campaign Monitoring,India], 
    [Email HTML Build,India], 
    [Email Quality Assurance,India]] 
+0

你试过什么? – Durga

+0

是的,我试过JSON.stringyfy()。但那不行。 – Neetu

+0

'JSON.stringify'会将JSON对象转换为字符串,但您的要求不同。 – Durga

回答

0

这是很简单的。只需遍历列表即可构建您的对象。

var input = [["Campaign Technical Approach Plan","__PM__LOCATION__"], 
 
    ["Campaign Monitoring","India"], 
 
    ["Email HTML Build","India"], 
 
    ["Email Quality Assurance","India"]]; 
 

 
var obj = {}; 
 

 
input.forEach(function(item){ 
 
    obj[item[0]] = item[1].replace(/_|LOCATION/g, ""); 
 
}); 
 

 
console.log(obj);

+0

输出是这样的{活动执行(最小)= PM,本地化进程管理(0-5)=印度,电子邮件质量保证(最小)=印度}不是确切的。 – Neetu

+0

@Neetu那么不是JSON对象? –

+0

我想要这样的输出。 – Neetu

-1

简单。

var object = {"Campaign Technical Approach Plan": "PM", 
    "Campaign Monitoring": "India", 
    "Email HTML Build": "India", 
    "Email Quality Assurance": "India"} 

var JSON = JSON.stringify(object); //Converted to JSON 

为了做相反(JSON到JS对象)使用JSON.parse()来

2

你可以转换数据阵列使用Array.prototype.reduce到对象。然后使用JSON.stringify()

let data = [ 
 
\t ['Campaign Technical Approach Plan','__PM__LOCATION__'], 
 
    \t ['Campaign Monitoring','India'], 
 
    \t ['Email HTML Build','India'], 
 
    \t ['Email Quality Assurance','India'] 
 
]; 
 

 

 
let result = JSON.stringify(data.reduce((resultObj, [ key, value ]) => { 
 
\t resultObj[key] = value 
 
\t return resultObj; 
 
}, {})); 
 

 
console.log(result);

1

您可以使用Array.prototype.reduce()

代码:

const arr = [['Campaign Technical Approach Plan', '__PM__LOCATION__'],['Campaign Monitoring', 'India'],['Email HTML Build', 'India'],['Email Quality Assurance', 'India']]; 
 
const result = arr.reduce(function (a, c) { 
 
    a[c[0]] = c[1].replace(/_|LOCATION/g, ''); 
 
    return a; 
 
}, {}); 
 

 
console.log(result);