我有一个Angular 6前端应用程序,它通过Websocket与我的后端进行通信。
当我发送登录请求时,我的后端返回一个JSON对象
{"type":"LoggedIn","value":{"email":"1@1.de","id":9,"name":"1"}}
我现在尝试阅读那里的字段,但我看不到允许我这样做的方法。
到目前为止,我可以使用该函数显示整个后端消息:
this.socketService.receiveEvents('LoggedIn').subscribe((message: MessageEvent) => {
console.log('message: ' + message.data);
});
receiveEvents(完整性原则):
/**
* TODO: Implement a paramemter that allows this method to return an Observable
* TODO: with a filter for relevant events for the calling functions
* @returns {Observable<Object>}
*/
receiveEvents(relevantEvent): Observable<Object> {
return this._subject.asObservable().pipe(filter((event: Event) => event != null));
}
我怎么能只显示字段&#34; type&#34;或&#34;价值&#34; ?
我已经尝试使用for循环迭代它,但我只收到单个字母。
非常感谢。
答案 0 :(得分:1)
做到这一点:
interface BackendResponse {
type: string;
value: string[];
}
this.socketService.receiveEvents('LoggedIn').subscribe((message: MessageEvent) => {
const obj: BackendResponse = JSON.parse(message.data);
console.log(obj.type);
});
这会让你走上正确的道路=)