Я пытаюсь сделать класс Сообщения содержит почтовые атрибуты, такие как «идентификатор, название, содержание ... и др.машинопись разбор JSON с классом и интерфейсом
Я хочу, чтобы инициализировать класс из JSON . ответ я использую угловую-HTTP, чтобы получить JSON в машинописи
в 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);
});
}
}
примечание: Я до сих пор путают о том, какие это правильный тип для моего JSON я прочитал, что машинопись не поддерживает карту еще, однако он работает здесь, как result: {[key:string]: string; };
Я попытался посмотреть на stackoverflow, я нашел этот вопрос how to cast a json object to a typescript, ответ не имеет ничего общего с машинописным текстом.
другой вопрос Can I create a TypeScript type and use that when AJAX returns JSON data?
ответ говорят о создании интерфейсов в машинописи. (., Которые я не совсем понимаю)
Я также нашел этот сайт json2ts генерирует машинопись интерфейсы из JSON, поэтому я попытался мой и я JSON получил это:
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;
}
}
Теперь у меня есть интерфейс для моего JSON, но я не знаю, что делать дальше!
В: Правильно ли это разбор JSON для объекта класса в машинописном тексте? если да, то каков следующий шаг, чтобы получить класс, инициализированный данными?
он работал, поэтому нет необходимости создавать пользовательский класс для интерфейса? –
Вы не создатель этого объекта, не делайте этого класса. Если вы не хотите начинать делать действия (функции) с этим объектом – gilamran
Но что, если я не знаю, что будет содержать JSON? Как я могу создать интерфейсы для объектов, которые я не знаю? – Kokodoko