简体   繁体   English

如何在角度服务方法中遍历http响应(json)以生成自定义json?

[英]How to iterate over a http response(json) in angular service method, to generate a customized json?

I am getting http response like this: 我收到这样的http响应:

[
    {"id": "1", "name": "2", "value": "3", "any": "4"}
]

I want to convert it to something like this: 我想将其转换为这样的内容:

[
{
    "heading": "id"
    "content": "1"
},
{
    "heading": "name"
    "content": 2
},
{
    "heading": "value"
    "content": 3
},
{
    "heading": "any"
    "content": 4
}
]

I am using angular4.0.0 and I want to perform this in service method. 我正在使用angular4.0.0,我想在服务方法中执行此操作。 How to achieve this result? 如何取得这个结果?

Here you go : 干得好 :

 var arrayData = [ {"id": "1", "name": "2", "value": "3", "any": "4"} ] let finalArray = arrayData.map(el => { let returnArray = []; for(let key in el){ returnArray.push({heading : key , content : el[key]}) } return returnArray; }) console.log(finalArray); 

 var response = [ {"id": "1", "name": "2", "value": "3", "any": "4"} ]; var newJson = []; response.forEach(function(val,index){ Object.keys(val).forEach(function(data) { newJson.push({heading: data,content:val[data]}) }) console.log(newJson) }) 

 var responseData=[ {"id": "1", "name": "2", "value": "3", "any": "4"} ]; var finalResult = []; responseData.map(function(item){ var test = []; var allKeys=Object.keys(item); for(i=0;i<allKeys.length;i++) { finalResult.push({'heading':allKeys[i],'content':item[allKeys[i]]}); } }); console.log(finalResult) 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM