arrays - Angular将json转换为对象数组
问题描述
我从一个 REST Web 服务获取以下 JSON 数据。我想弄清楚如何转换为对象数组。
{
"John": "Buttler"
"Hugh": "Martin"
.
.
.
}
我正在尝试转换为以下对象。基本上我期待Person []。在上面的 JSON 中,John、Hugh 是名字,而 Buttler、Martin 是姓氏。
export class Person{
firstName: string;
lastName: string;
}
如果我得到如下的json,我可以转换
[
{
"firstName": "John"
"lastName:: "Buttler"
},
{
"firstName": "Hugh"
"lastName:: "Martin"
}
]
角服务代码:
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
});
推荐阅读
- raspberry-pi - gRPC 不适用于树莓派 (armv7l)
- c# - 将 XML 发布到 webapi 只是在 [FromBody] 请求模型上绑定非集合属性
- python - 防止 pyttsx3 冻结 GUI
- jboss - infinispan 钝化可以与基于内存的驱逐一起使用吗?
- neural-network - 如何训练流水线神经网络?
- python - 如何从存储在 .csv 中的 pandas 数据框中读取 np 矩阵?
- javascript - 如何将原型 jquery 函数转换为 javascript 原型函数
- android - 如何在 Flutter Android 应用中响应式显示网页?
- mysql - 在 MySQL 中创建表时如何摆脱 errno 150?
- vulkan - Vulkan:vkQueuePresentKHR 做了什么?