Sto cercando di fare una classe Messaggio contiene attributi pubblicare quali "id, titolo, il contenuto ... ecc.dattiloscritto JSON parsing con classe e l'interfaccia
voglio inizializzare la classe da un JSON . risposta sto utilizzando angolare http per ottenere JSON a macchina
in APP.TS:
class AppComponent {
result: { [key: string]: string; };
map: Map<Object,Object>;
constructor(http: Http) {
http.get('http://localhost/wptest/wp-json/wp/v2/posts').subscribe(res => {
this.result = <any>res.json();
this.map = <any>res.json();
console.log(this.result);
console.log(this.map);
});
}
}
nota: Sono ancora confusi su quale è il tipo giusto per il mio JSON ho letto che dattiloscritto non sta sostenendo Mappa ancora, ma si sta lavorando qui come result: {[key:string]: string; };
ho provato a guardare in alto su stackoverflow, ho trovato questa domanda how to cast a json object to a typescript, la risposta non ha nulla a che fare con dattiloscritto.
in un'altra domanda Can I create a TypeScript type and use that when AJAX returns JSON data?
la risposta sta parlando di creazione di interfacce a macchina. (. Che non ho del tutto capito)
Ho trovato anche questo sito per json2ts genera interfacce dattiloscritto da JSON, così ho provato la mia JSON e ho ottenuto questo:
declare module namespace {
export interface Guid {
rendered: string;
}
export interface Title {
rendered: string;
}
export interface Content {
rendered: string;
}
export interface Excerpt {
rendered: string;
}
export interface Self {
href: string;
}
export interface Collection {
href: string;
}
export interface Author {
embeddable: boolean;
href: string;
}
export interface Reply {
embeddable: boolean;
href: string;
}
export interface VersionHistory {
href: string;
}
export interface Links {
self: Self[];
collection: Collection[];
author: Author[];
replies: Reply[];
}
export interface RootObject {
id: number;
date: Date;
guid: Guid;
modified: Date;
modified_gmt: Date;
slug: string;
type: string;
link: string;
title: Title;
content: Content;
excerpt: Excerpt;
author: number;
featured_image: number;
comment_status: string;
ping_status: string;
sticky: boolean;
format: string;
_links: Links;
}
}
Ora ho un'interfaccia dattiloscritto per il mio JSON, ma non so cosa fare dopo!
D: È questo il modo giusto per analizzare JSON in un oggetto di classe in dattiloscritto? se sì qual è il prossimo passo per ottenere la classe inizializzata con i dati?
ha funzionato, quindi non è necessario creare una classe personalizzata per l'interfaccia? –
Non sei il creatore di questo oggetto, non fare classi. A meno che non vogliate iniziare a fare azioni (funzioni) con questo oggetto – gilamran
Ma cosa succede se non so cosa conterrà il JSON? Come posso creare interfacce per oggetti di cui non conosco il contenuto? – Kokodoko