У меня есть интерфейс IPost и класс сообщение, я хочу, чтобы создать сообщение от данных JSON, в сообщении конструктору я получаю ответ JSON, где интерфейс IPost соответствует его.Машинописи создать класс из JSON
Я имею в виду интерфейс IPost генерируется этот замечательный инструмент json2ts
json2ts: генерировать машинопись интерфейсы из JSON
import { IPost, Title, Guid, Content, Excerpt, Embedded, Links } from './Ipost.ts';
export class Post implements IPost {
Id: number;
Date: string;
DateGmt: string;
Guid: Guid;
Modified: string;
ModifiedGmt: string;
Slug: string;
Type: string;
Link: string;
Title: Title;
Content: Content;
Excerpt: Excerpt;
Author: number;
FeaturedImage: number;
CommentStatus: string;
PingStatus: string;
Sticky: boolean;
Format: string;
Links: Links;
Embedded: Embedded;
constructor(json: any) {
var self = this;
json.subscribe(res => {
var jsonRes: any = res.json();
self = jsonRes; //something like this
});
}
}
Могу ли я назначить класс Post
непосредственно JSon поскольку JSON описывается то же самое как класс Post!
Есть ли какие-либо другие способы, кроме как назначить каждое свойство своему партнеру из json?
'let obj = res.json()' вместо let json –
У меня есть вложенные свойства в моем интерфейсе, например 'post.embedded.title.rendered', это работает для всех или я должен создавать вложенные для циклов для что? –
Если эти вложенные свойства являются экземплярами других классов, тогда вам придется делать это разными да. –