У меня есть несколько вложенных интерфейсов в машинописном тексте, вроде этого:
export interface Person {
name: string;
age: number;
status: Status;
}
export interface Status {
location: string;
activity: number;
}
Когда я получаю Person с моего сервера и хочу его console.log, я могу сделать это:
console.log(JSON.stringify(person))
Это отлично работает для полей Person верхнего уровня, но просто печатает «Object» для поля статуса. Я знаю, что это потому, что Status - это интерфейс и не имеет метода to JSON. Итак, мне нужно получить какой-то метод для «jsonify» всей структуры вложенных интерфейсов, ie, где ни один из интерфейсов не имеет метода JSON.
Как мне это сделать?
ОБНОВЛЕНИЕ: Оказывается, все действительно работает отлично. Проблема в том, что console.log будет только go до определенной глубины (например, 2), прежде чем начнет печатать такие вещи, как '[Object]' или '[Array]'. Чтобы увидеть полную распечатку, я использовал вместо этого:
console.dir(myobject, {depth: null});
По-видимому, это работает так же, как console.log, но выполняет полную распечатку с произвольной глубиной.