2017-01-18 24 views
1

각도 2 http.get을 사용하여 json 파일에서 json 객체를 가져 오려고합니다. 내가 파일에서 그만 둘 것은 이것이다 : t_isScalar: falseoperator: tsource: t__proto__: Object를 : 여기에json 파일의 내용을 가져 오지 못함

t_isScalar: falseoperator: tsource: t__proto__: Object 

것은 내가이 아닌 JSON 개체를 반환 할 getSchema를 해결 내 코드 어떻게

@Injectable() 
export class ValidateJSONSchemaService { 

    constructor(private http: Http) { } 

    getSchema(fileName): any { 
     return(this.http.get(fileName) 
      .map(this.extractData) 
     ); 
    } 

    private extractData(res: Response) { 
     let body = res.json(); 
     return body.data || {}; 
    } 
} 

입니다. 파일 이름을 변경하면 같은 것을 반환합니다. 나는 정보 오류 (나는 오류 처리를했지만 코드는 결코 오류를 일으키지 않았다)를 기대했을 것입니다.

답변

2

당신은 관찰에 subscribe해야합니다

@Injectable() 
export class ValidateJSONSchemaService { 

    constructor(private http: Http) { } 

    getSchema(fileName): any { 
     return(this.http.get(fileName) 
      .map(this.extractData).subscribe(data => console.log(data)); 
     ); 
    } 

    private extractData(res: Response) { 
     let body = res.json(); 
     return body.data || {}; 
    } 
} 
2

는 마치에이의 대답 또한 당신을 위해 구독을 수행하는 | async 파이프를 사용할 수 있습니다.

<div>{{getSchmea('fileName') | async}}</div>