我正在从其余的 Web 服务中获取以下 JSON 数据。我想弄清楚如何转换为对象数组。
{
"John": "Buttler"
"Hugh": "Martin"
.
.
.
}
我正在尝试转换为下面的对象。基本上我期待人[]。在上面的 JSON 中,John、Hugh 是名字,而 Buttler、Martin 是姓氏。export class Person{
firstName: string;
lastName: string;
}
我可以 如果我得到如下 json 则进行转换[
{
"firstName": "John"
"lastName:: "Buttler"
},
{
"firstName": "Hugh"
"lastName:: "Martin"
}
]
Angular 服务代码: findAllPersons(): Observable<Person[]> {
return this.httpClient.get<Person[]>('url');
}
最佳答案
您必须以所需的格式处理收到的响应。
findAllPersons(): Observable<Person[]> {
return this.httpClient.get<object>('url');
}
findAllPersons().subscribe((response) =>{
let array = [];
for(let key in response){
let p = new Person();
p.firstName = key;
p.lastName = response[key];
array.push(p);
}
console.log(array); // your required array
});
关于arrays - Angular 将 json 转换为对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66288615/