sanakirja - Karttaa JSON-objekti TypeScript-objektiin automaattisesti (Angular 2)
Olen uusi Typescriptin ja Javascriptin kanssa. Kysymykseni on: miten tästä
```
{
"release": {
"ref": {},
"commits": {}
},
"debug": {
"ref": {},
"commits": {}
},
"feature": {
"ref": {},
"commits": {}
},
"hotfix": {
"ref": {},
"commits": {}
}
}
```
määritä se Typescriptillä käyttäen rajapintoja
export interface IRepo { branches: IBranch;/kuinka tehdä branches-tyyppinen IBranch-sanakirja, jonka avaimet ovat merkkijonoja? }
tulee olemaan tuntematon määrä ominaisuuksia kuten debug, release jne., haluan pitää ne sanakirjana IRepo-instanssissa
Käytän tätä tietojen hakemiseen:
```
getRepo() : Observable<IRepo> {
if (!this.repo) {
return this.http.get(this._baseUrl + 'repo.json')
.map((res: Response) => {
this.repo = res.json();
return this.repo;
})
.catch(this.handleError);
} else {
return this.createObservable(this.repo);
}
}
```
Vastaus #1
Sinulla on kartta, joka menee jostain tunnetusta stringistä tunnetun rakenteen objektiin (sisältää ref commits). Käytä vain merkkijonoindeksoijaa:
interface BranchByName {
[branchName: string]: {
ref: any;
commits: any;
}
}
