В TypeScript работа с данными JSON — обычная задача. JSON (нотация объектов JavaScript) — это облегченный формат обмена данными, который широко используется для сериализации данных. В этой статье мы рассмотрим несколько методов преобразования JSON в объект в TypeScript, а также приведем примеры кода.
Метод 1: использование метода JSON.parse()
Самый простой способ преобразовать JSON в объект в TypeScript — использовать встроенный метод JSON.parse(). Этот метод анализирует строку JSON и возвращает соответствующий объект JavaScript.
const jsonString = '{"name": "John", "age": 30}';
const obj = JSON.parse(jsonString);
console.log(obj);
Метод 2: использование метода Object.assign()
Другой подход заключается в использовании метода Object.assign()для объединения свойств объекта JSON с пустым объектом, что фактически создает новый объект.
const jsonString = '{"name": "John", "age": 30}';
const obj = Object.assign({}, JSON.parse(jsonString));
console.log(obj);
Метод 3: использование утверждения типа
Утверждение типа — это способ явного указания типа переменной в TypeScript. Мы можем использовать утверждение типа для преобразования объекта JSON в определенный интерфейс или тип TypeScript.
interface Person {
name: string;
age: number;
}
const jsonString = '{"name": "John", "age": 30}';
const obj = JSON.parse(jsonString) as Person;
console.log(obj);
Метод 4. Использование библиотеки, например class-transformer
Если вы работаете с более сложными структурами JSON или вам нужны расширенные функции, такие как преобразования вложенных объектов, вы можете использовать сторонние библиотеки, такие как class-transformer.
Сначала установите библиотеку с помощью npm или Yarn:
npm install class-transformer
Затем создайте класс, представляющий структуру вашего объекта, и используйте декораторы, чтобы определить сопоставление между свойствами JSON и свойствами класса.
import { Transform, Type } from 'class-transformer';
class Person {
@Transform((value) => value.toUpperCase())
name: string;
@Type(() => Date)
birthdate: Date;
}
const jsonString = '{"name": "John Doe", "birthdate": "1990-01-01"}';
const person = plainToClass(Person, JSON.parse(jsonString));
console.log(person);
В этой статье мы рассмотрели несколько методов преобразования JSON в объект в TypeScript. Мы рассмотрели базовые методы, такие как JSON.parse()и Object.assign(), а также более сложные методы, такие как утверждение типа и использование сторонних библиотек, таких как class-transformer. Эти методы обеспечивают гибкость и подходят для различных случаев использования данных JSON в TypeScript.