Встречается на собеседованиях • сегодня

Как восстановить переданный из одной TypeScript программы в другую объект в JSON чтобы сохранить метаданные

Для сохранения метаданных при сериализации/десериализации объектов в TypeScript можно использовать `Reflect` API или кастомные декораторы. Пример с декораторами: ```typescript class User { @serializable name: string; @serializable age: number; } function serializable(target: any, key: string) { Reflect.defineMetadata('serializable', true, target, key); } function serialize(obj: any): string { const result: any = {}; Object.keys(obj).forEach(key => { if (Reflect.getMetadata('serializable', obj, key)) { result[key] = obj[key]; } }); return JSON.stringify(result); } const user = new User(); user.name = 'Alice'; user.age = 25; const json = serialize(user); // {"name":"Alice","age":25} ``` Для восстановления метаданных после парсинга JSON можно использовать фабрику или конструктор. ```typescript function deserialize(json: string, type: new () => T): T { const obj = new type(); const data = JSON.parse(json); Object.keys(data).forEach(key => { if (Reflect.getMetadata('serializable', obj, key)) { obj[key] = data[key]; } }); return obj; } const restoredUser = deserialize(json, User); ``` Также можно использовать библиотеки, например, `class-transformer`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы