【问题标题】:How to format data from api response Angular HttpClient如何格式化来自api响应Angular HttpClient的数据
【发布时间】:2018-03-16 09:58:02
【问题描述】:

我正在尝试发出有角度的 HttpClient 获取请求,但在处理数据时遇到了问题。

我正在使用一个以表单形式返回数据的 api

(10)[{...}, {...}, {...}, ...]
[
0:{
   row: Array(4)
     0: "someid"
     1: "somename"
     2: "someaddress"
     3: "somepostcode"
  },
1:{
   row: Array(4)
     0: "someid"
     1: "somename"
     2: "someaddress"
     3: "somepostcode"
  },
2:{
   row: Array(4)
     0: "someid"
     1: "somename"
     2: "someaddress"
     3: "somepostcode"
  }, 
...
]

我只是希望能够从获取数据中创建具有“someaddress”和“someid”字段的对象列表。我查看了各种教程,但不断收到未定义的元素。你怎么能从中得到数据。

【问题讨论】:

  • 你得到一个对象数组。运行一个循环并创建你的对象
  • 分享你的代码

标签: json angular httpclient


【解决方案1】:

你可以这样做:

const data = [ // I have reformatted your returned data
    { row: ["someId", "somename", "someaddress"] },
    { row: ["someId", "somename", "someaddress"] },
    { row: ["someId", "somename", "someaddress"] },
    { row: ["someId", "somename", "someaddress"] }
];
    
const newData = data.map(item => ({ id: item.row[0], address: item.row[2] }));
    
console.log(newData);

希望对您有所帮助! :)

【讨论】:

    【解决方案2】:

    如果您想键入 HTTP 响应,请使用泛型类型:

    interface MyInterface {
      row: string[];
    }
    
    return this.http.get<MyInterface[]>('URL');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-28
      • 2018-11-11
      相关资源
      最近更新 更多