Próbuję zrobić klasę post zawiera atrybuty pocztowych, takich jak „id, tytuł, treść itp. ...maszynopis parse json z klasy i interfejsu
chcę zainicjować klasę z JSON . odpowiedź Używam kątową hTTP, aby uzyskać JSON w maszynopisie
w 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);
});
}
}
uwaga: nadal jestem zagubiony który jest odpowiedni rodzaj dla mojego JSON Czytałem, że maszynopis nie wspiera Mapa jeszcze, jednak pracuje tutaj jako result: {[key:string]: string; };
Starałem się spojrzeć w górę na stackoverflow, znalazłem to pytanie how to cast a json object to a typescript, odpowiedź nie ma nic wspólnego z maszynopisem.
w innym pytaniu Can I create a TypeScript type and use that when AJAX returns JSON data?
odpowiedź mówi o tworzeniu interfejsów w maszynopisie. (., Które nie bardzo rozumiem)
Znalazłem również ta strona generuje interfejsy dla json2ts maszynopisu z JSON, więc próbowałem mój json i mam to:
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;
}
}
Mam teraz interfejs maszynopisu do mojego JSON-a, ale nie wiem, co dalej!
P: Czy jest to właściwy sposób na parsowanie JSON-a do obiektu klasy w maszynopisie? jeśli tak, jaki jest następny krok, aby klasa została zainicjowana danymi?
zadziałało, więc nie ma potrzeby tworzenia niestandardowej klasy dla interfejsu? –
Nie jesteś twórcą tego obiektu, nie ćwicz. Chyba że chcesz zacząć robić akcje (funkcje) z tym obiektem. – gilamran
Ale co, jeśli nie wiem, co zawiera JSON? Jak mogę utworzyć interfejsy dla obiektów, których nie znam? – Kokodoko