我正在尝试在html页面上显示json数据。服务器上的数据向我显示json数据,但是当我尝试在页面上显示它时,它将为我提供此数据
{“ _ isScalar”:false,“源”:{“ _ isScalar”:false,“源”:{“ _ isScalar”:false,“源”:{“ _ isScalar”:true,“值”:{“ url “:” {https://feeds.citibikenyc.com/stations/stations.json“,” body“:null,” reportProgress“:false,” withCredentials“:false,” responseType“:” json“,” method“:” GET“,” headers“:{” normalizedNames“:{},” lazyUpdate“:null,” headers“:{}},” params“:{” updates“:null,” cloneFrom“:null,” encoder“:{},” map“:null} ,“ urlWithParams”:“ https://feeds.citibikenyc.com/stations/stations.json”},“ scheduler”:null},“ operator”:{“ concurrent”:1}},“ operator”:{}},“ operator”:{}} < / p>
我获取数据的代码是
import { HttpClient} from '@angular/common/http';
import { Injectable } from '@angular/core';
@Injectable()
export class GetdataService {
posts : any;
readonly ROOT_URL ="https://feeds.citibikenyc.com/stations/stations.json";
constructor(private http: HttpClient ) { }
getPosts()
{
this.posts = this.http.get(this.ROOT_URL );
return JSON.stringify(this.posts);
}
}
答案 0 :(得分:3)
this.http.get()
不返回数据,而是可观察到的,必须订阅:
getPosts() {
this.http.get(this.ROOT_URL)
.subscribe((data) => {
//DO STUFF HERE
});
}
第二,虽然在修复可观察的东西后不需要解码JSON,但您可以使用JSON.parse()
而非JSON.stringify
来解码JSON。 stringify
将对象转换为字符串(与您想要的完全相反)。