2017-08-16 102 views
-7

我想改变以下JSON数据的预期格式。如何更改JSON格式?

JSON数据:

[ 
    { 
     "A":{ 
      "X":"P" 
     }, 
     "B":{ 
      "X":"Q" 
     }, 
     "C":{ 
      "X":"R" 
     } 
    } 
] 

预期的格式:

[ 
    { 
     "A": "P", 
     "B": "Q", 
     "C": "R" 
    }  
] 

在此先感谢。 :)

+2

那你试试?你在哪里挣扎?请查看FAQ并尝试相应地编辑您的问题。 –

+1

你试过的代码在哪里? – Weedoze

+0

@ C-奥托和Weedoze,我是新来这个,这就是为什么忘了张贴我的代码....我已经得到了我的答案从苏伦Srapyan .......感谢寻找到我的问题。 –

回答

2

试试这个。您可以获取每个项目的关键字,然后映射到对象的相应结构。

const json = [ 
 
    { 
 
     "A":{ 
 
      "X":"P" 
 
     }, 
 
     "B":{ 
 
      "X":"Q" 
 
     }, 
 
     "C":{ 
 
      "X":"R" 
 
     } 
 
    } 
 
]; 
 

 
const expectedJSON = json.map(item => { 
 
    const obj = {}; 
 
    Object.keys(item).forEach(key => obj[key] = item[key].X); 
 
    return obj; 
 
}) 
 

 
console.log(expectedJSON);

+0

很多感谢的,救了我的一天。 –

0

如果X酒店有不同的名称为每个对象,你可以用这个方法。

var json = [{ 
 
     "A":{ "X":"P" }, 
 
     "B":{ "X":"Q" }, 
 
     "C":{ "X":"R" } 
 
      }] 
 

 
json = json[0] 
 

 
for (prop in json) { 
 
\t for (item in json[prop]) { 
 
    \t json[prop] = json[prop][item] 
 
    } 
 
} 
 

 
console.log(json)

+0

'x'是同样为我的情况.....但感谢....我可以在未来使用。 –