我有以下课程:
import { HttpClient } from '../services/http.service'
export class Project {
constructor(
private http: HttpClient
){
}
@JsonProperty('name')
title: string;
id:string;
public getTitle(): string {
return this.title;
}
public getId(): string {
return this.id;
}
public removeProject() {
return this.http.delete("deleteurl"+this.id).map(() => {
return true;
})
}
}
我想像这样反序列化json对象:
import { JsonConvert } from "json2typescript";
getProjects():Observable<Project[]> {
return this.http.get("getprojects").map((res:Response) => {
var array: Project[] = [];
for (let entry of res.json().files) {
array.push(JsonConvert.deserializeObject(entry, Project));
}
return array;
})
}
如果我想将json映射到我的类,我会得到一个错误,他们无法创建一个新的类项目(),因为在类项目中注入了http服务
你们会怎么做?什么是最佳做法?
答案 0 :(得分:0)
我想在HttpClient中是getProjects方法,你应该在服务文件中导入Injectable
import { Injectable } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import { Observable } from 'rxjs/Observable';
这是在构造函数中的类Project中进行依赖注入