Angularjs typescript中类字段的复杂名称

Angularjs typescript中类字段的复杂名称,angularjs,json,typescript,Angularjs,Json,Typescript,我有一个这样的打字脚本类- export class News { title: string; snapshot: string; headerImage: string; } private searchNews(sortOrder : string, query? : string):Observable<News[]>{ return this.http.get(this.url+'?'+this.buildParams(sortOr

我有一个这样的打字脚本类-

export class News {
    title: string;
    snapshot: string;
    headerImage: string;
}
private searchNews(sortOrder : string, query? : string):Observable<News[]>{
        return this.http.get(this.url+'?'+this.buildParams(sortOrder,10,0,query))
                         .map((res:Response) => res.json())
                         .catch((error:any) => Observable.throw(error.json().error || 'Server error'))
    }
export class News {
    jcr:path:string;// I may write it as - path:string
    title: string;
    snapshot: string;
    headerImage: string;
}
现在,在我的角度服务中,我有一种方法,可以获取如下新闻列表-

export class News {
    title: string;
    snapshot: string;
    headerImage: string;
}
private searchNews(sortOrder : string, query? : string):Observable<News[]>{
        return this.http.get(this.url+'?'+this.buildParams(sortOrder,10,0,query))
                         .map((res:Response) => res.json())
                         .catch((error:any) => Observable.throw(error.json().error || 'Server error'))
    }
export class News {
    jcr:path:string;// I may write it as - path:string
    title: string;
    snapshot: string;
    headerImage: string;
}
现在我想在我的新闻类中添加一个字段“path”,它映射json数据的字段“jcr:path”的值

但我不能写这样的课-

export class News {
    title: string;
    snapshot: string;
    headerImage: string;
}
private searchNews(sortOrder : string, query? : string):Observable<News[]>{
        return this.http.get(this.url+'?'+this.buildParams(sortOrder,10,0,query))
                         .map((res:Response) => res.json())
                         .catch((error:any) => Observable.throw(error.json().error || 'Server error'))
    }
export class News {
    jcr:path:string;// I may write it as - path:string
    title: string;
    snapshot: string;
    headerImage: string;
}

那么,我有没有办法告诉typescript从“jcr:path”属性中提取“path”字段的值您可以将属性名称定义为字符串:

class News {
    'jcr:path': string;
    // ...
}

可以将属性名称定义为字符串:

class News {
    'jcr:path': string;
    // ...
}

这很好,但是你能告诉我,如果有办法的话,我可以只保留我的字段名路径,这样就可以很容易地用角度表达式编写,比如{{news.path},而不是{news['jcr:path']},这需要你改变底层javascript对象的形状。你可以在你的http请求上使用一个转换来实现这一点(参见)是的,这就是我想要的。谢谢。这很好,但是你能告诉我,如果有办法的话,我可以只保留我的字段名路径,这样就可以很容易地用角度表达式编写,比如{{news.path},而不是{news['jcr:path']},这需要你改变底层javascript对象的形状。你可以在你的http请求上使用一个转换来实现这一点(参见)是的,这就是我想要的。谢谢