0

不确定这是否按预期工作,但我想将一团 json 转换为通用对象数组(对象是可延展的,可以根据我的 URL 更改)。我应该改用 JSON.parse(res.json().data) 吗?谢谢。

 return this.http.get(URL)
                       .toPromise()
                       .then(response => response.json().data as Object[]) 
                       .catch(this.handleError);
          }
4

1 回答 1

0

您的解决方案的问题是该Object类型没有任何成员(通常除外),因此任何尝试从您的 JSONid等访问特定属性的尝试都会产生错误。

正确的方法是as any[]

  return this.http.get(URL)
                        .toPromise()
                        .then(response => response.json().data as any[]) 
                        .catch(this.handleError);
           }

这将允许您访问 JSON 响应中的所有内容(以及 JSON 响应中没有的所有内容。您将在运行时收到错误消息)。

最好将结果转换为特定类型,请参阅如何将 JSON 对象转换为 typescript 类

于 2016-08-01T22:10:43.773 回答