Аргумент типа 'Object' не может быть назначен параметру типа 'JSON' Httpclient GET

Здравствуйте, я работаю над приложением Angular 6 + Flask, и у меня есть эта проблема:

error TS2345: Argument of type 'Object' is not assignable to parameter of type 'JSON'.

когда мой код делает это:

import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { MessageService } from '../shared/message.service';

@Component({
  selector: 'app-network-monitorer',
  templateUrl: './network-monitorer.component.html',
  styleUrls: ['./network-monitorer.component.css']
})
export class NetworkMonitorerComponent implements OnInit {

  mqttMessageData : JSON[]=[];
  coapMessageData : JSON[]=[];
  xmppMessageData : JSON[]=[];

  constructor(private httpClient: HttpClient, private messageService:MessageService) { }

  ngOnInit() {
    setInterval(()=>{
      this.getMqttMessages(); },2000);
  }

  getMqttMessages() {
    this.httpClient.get('http://127.0.0.1:5002/messages/mqtt').subscribe(data => {
      this.mqttMessageData.push(data);
      console.info("message :")
      console.info(this.mqttMessageData.length())
      console.info(data);
    });
  }

Итак, в основном, когда компонент загружается, я делаю запрос на свой сервер python для получения некоторых данных, которые возвращаются клиенту в JSON, но angular, похоже, думает, что `` данные '' - это тип объекта, поэтому я не могу добавить его в свой список JSON

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
2
0
831
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам нужно будет его разыграть:

this.httpClient.get<JSON[]>('http://127.0.0.1:5002/messages/mqtt').subscribe(data => {

Вам нужно будет преобразовать данные в JSON. Попробуйте использовать data.json, как показано ниже.

getMqttMessages() {
this.httpClient.get('http://127.0.0.1:5002/messages/mqtt').subscribe(data => {
  this.mqttMessageData.push(data.json);
  console.info("message :")
  console.info(this.mqttMessageData.length())
  console.info(data);
});
}

Другие вопросы по теме