arrays - 订阅后如何将 JSON 值保存在变量/数组中?
问题描述
我正在接收如下所示的 JSON文件:
{streetAddress: "Kosterlijand 20", postalCode: "3980", city: "Bunnik", country: "Netherlands"}
文件的长度不同,但结构始终是
{key: "string value", key: "string value", etc...}
我正在尝试订阅以获取该数据,但无论我如何尝试订阅,我都无法以任何方式存储数据。如果我只使用这个:
this.service.getEntityDetails()
.subscribe(data => console.log(data));
我可以在控制台中看到:
{streetAddress: "Kosterlijand 20", postalCode: "3980", city: "Bunnik", country: "Netherlands"}
但是,如果我尝试其他任何方法,例如:
public test: any[];
public test1: any[]=[];
public test2: string[];
public test3: string[]=[];
public test4: {};
constructor(service:Service){}
this.service.getEntityDetails()
.subscribe(data => {
test=data;
test1=data;
test2=data;
test3=data;
test4=data;
console.log("test:"+test+", test1: "+test1+", test2: "+test2+", test3: "+test3);
});
}
控制台中的输出始终相同:
test:[object Object], test1: [object Object], test2: [object Object], test3: [object Object] test4[object Object]
我想让它按工作方式KeyValuePipe
工作。
但是因为我不能以任何方式保存这些值,所以我不能使用管道。有人可以帮我解决这个问题吗?
如有必要,我可以提供更多信息。
解决方案
所以,为了解释一些事情......
public someRandomData: Array<any> = [];
this.service.getEntityDetails()
.subscribe(data => {
someRandomData=data;
});
而已。您已经成功存储了您想要获取的值。
如果您真的想在字符串中记录对象的控制台日志,您可以参考对象所具有的字段...
console.log(this.someRandomData[0].fieldOfYourJSONObject)
你写了一个函数来遍历你的对象的键。但既然你只要求存储你的对象,那就足够了。
推荐阅读
- java - 如何在摇摆屏幕之间切换
- postgresql - db中的线程安全增量值
- reactjs - TypeError:“编译”参数必须是 Shopify 中的编译实例
- python - 将静态/css 文件与 Django 模板链接
- python - PlotlyError:`figure_or_data` 位置参数必须是 `dict`-like、`list`-like 或 plotly.graph_objs.Figure 的实例
- javascript - 将 firebase 用于个人项目。是否存在账单风险以及如何避免它们?
- powershell - 如何将预提交与 Visual Studio Code 集成?
- python - .foreachPartition 命令在 Python 包内运行时挂起,但从包外的 Python 文件运行时有效
- validation - ResNET152 验证丢失是 Nan 和 TypeError
- flutter - 如何以编程方式从 GSheet 中删除单元格?