文字列をJSON呼び出しのパスに戻したいとします。しかし、このJSON呼び出しには多くの変数があります。httpコール角度4の1つのjson文字列を返す
@Injectable()
export class ImageHolderService {
private studentPath: string;
constructor(private http: HttpUtil, private appConstants: AppConstants){
}
getAvatar():string {
return this.http.get(this.appConstants.GRAVTAR_URL_FOR_PROFILE_IMAGE+"/leaderbaord").subscribe()(response => {
});
}
}
どのように私は次のようなJSON呼び出しから文字列を返すことができます。
はJSONが正しく、これはほんの少しの例であると仮定します
[ {
"sumsPointValue" : 95,
"student" : {
"id" : 1,
"studentName" : "Joe Buck",
"linkedInProfile" : "http://linkedin.com",
"twitterProfile" : null,
"githubProfile" : "http://github.com",
"stackoverflowProfile" : "http://stackoverflow.com",
"email" : "[email protected]",
"teachableId" : null,
"teachableSchoolId" : null,
"studentImage" : null,
"studentLevel" : {
"id" : 1,
"awardDate" : "2017-08-31T18:13:38.688-04:00",
"level" : {
"id" : 1,
"description" : "This guy is on Level 0 description which is being pulled from the database and representing a longer than average text string to ensure the view is properly working.",
"imageName" : "guru-level-0.png",
"levelNumber" : 0,
"created" : "2017-08-31T22:13:38.570+0000",
"updated" : "2017-08-31T22:13:38.570+0000"
},
"created" : "2017-08-31T22:13:38.694+0000",
"updated" : "2017-08-31T22:13:38.695+0000"
},
"created" : "2017-08-31T22:13:38.684+0000",
"updated" : "2017-08-31T22:13:38.824+0000"
},
"studentLevelImagePath" : "../assets/images/level/level-0.png",
"studentImagePath" : "../assets/images/avatar.png",
"kudosGiven" : 0,
"badgesEarned" : 2,
"kudosRecieved" : 0
},
私は"studentImagePath" : "../assets/images/avatar.png",
----------------更新1 ----------------
しました次
あった、使用しているとき私にエラーを与えたgetAvatar():string {
return <string>this.http.get(this.appConstants.GRAVTAR_URL_FOR_PROFILE_IMAGE + "/leaderbaord").map(response => response.json()).subscribe(data => {
console.log(data.studentImagePath);
});
}
:
common/image.holder/imageHolderService.ts (12,16): Type 'Subscription' cannot be converted to type 'string'.
私は次のようにそれを使用:
constructor(private leaderBoardService: LeaderBoardService, private userPicture: ImageHolderService) { }
ngOnInit() {
this.subscribeLeaderBoardDataFromStore();
this.pictureOfUser = this.userPicture.getAvatar();
}
オブジェクトの配列を取得していますか、または1つのオブジェクトだけを取得していますか?それがオブジェクトの配列なら、何をしたいですか?文字列配列ですか?あなたのJSONは '['で始まっているので、配列が入っているようですが、私には少し不明です:) – Alex