Главное, что нужно понять, это то, что когда вы добавляете тип к вызову Angular HttpClient, например http.get<SomeObject>('http://api/some-end-point')
, сопоставление вообще не происходит.
То, что вы получаете, - это объект, который анализируется с JSON. Тот тип, который вы укажете, просто приведен, на самом деле ничего не конвертируется. Если данные в JSON объекте не соответствуют типу, нет ошибок или предупреждений, они просто не соответствуют типу, ожидаемому вашим кодом, и вы, вероятно, получите ошибку времени выполнения.
Это полезно для простых объектов, где свойства ограничены строками и числами и массивами строк, чисел и массивов. Если у вас есть что-то более сложное, например, карта, вам нужно преобразовать это самостоятельно из объекта JSON.
Так что нет, вы не можете получить карту из объекта JSON, возвращенного вашим Вызов HttpClient - вам нужно сделать это с Object.keys()
или Object.entries()
или чем-то в этом роде.