具有子数组返回错误的 Angular2 json 对象

Angular2 json object with child array returning error

我是 运行 Angular2 v4.4.0beta。我正在尝试 return 一个对象,它是我的 api 的子对象。端点被调用,这里是 json:

{
    "companyId":3,
    "name":"Third",
    "description":null,
    "characters":[{
       "characterId":3,
       "name":"Third",
       "description":null,
       "status":null,
       "companyId":3,
       "userId":null
    }]
}

这里是Company.ts

import { Component } from '@angular/core';
import { Character } from './Character';

export class Company {
    companyId: number;
    name: string;
    description: number;
    characters: Character[];
}

和Character.ts

import { Component } from '@angular/core';

export class Character {
    characterId: number;
    name: string;
    description: string;
    status: number;
    userId: string;
    companyId: number;
}

这是我在组件中的Get函数

getCompany(id: number) {
        this.companyService.getCompany(id)
            .subscribe(
            (data: Company) => this.company = data,
            error => this.errorMessage = <any>error);
    }

最后是服务功能

getCompany(id: number): Observable<Company> {
        return this.http.get(this.url + "/Get/" + id, 
            { headers: this.authService.authJsonHeaders() })
            .map((resp: Response) => resp.json() as Company)
            .catch(this.handleError);
    }

如果我单独获取项目,两种模型都可以工作,但如果我 return 公司内的角色,则会出错。

Chrome 调试器显示此错误

Failed to load resource: net::ERR_CONNECTION_RESET

组件记录此错误

0 - {"isTrusted":true}

我错过了什么?

编辑: authHeader 正在调用中插入 JWT

authJsonHeaders() {
        let header = new Headers();
        header.append('Content-Type', 'application/json');
        header.append('Accept', 'application/json');
        header.append('Authorization', 'Bearer ' + 
            sessionStorage.getItem('bearer_token'));
    return header;
}

好的,

显然问题出在序列化程序中。序列化子项时出错,但无论如何 return 有效 json。

我在更多连接元素上添加了 [JsonIgnore] 标签以正确防止循环引用,错误消失了。