What is the recommended library for handling JSON serialization and deserialization?

/**
 * Your domain model.
 */
type Engine = {};
type Wheel = {};
type SteeringWheel = {};
type Chassis = {};
type Seat = {};

interface Car {
    engine: Engine;
    wheels: Wheel[];
    steeringWheel: SteeringWheel;
    chassis: Chassis;
    seats: Seat[];
}

/**
 * Enhancers.
 */
const addWheels = <T extends Partial<Car>>(base: T): T & { wheels: Wheel[] } => {
    return Object.assign({}, base, { wheels: [] });
}

const addSeats = <T extends Partial<Car>>(base: T): T & { seats: Seat[] } => {
    return Object.assign({}, base, { seats: [] });
}

/**
 * Some seed for your car.
 */
const base = {
    engine: {},
    steeringWheel: {},
    chassis: {},
}

/**
 * Our assembly line.
 */
const main: Car[] =
[base]
    .map(addSeats)
    .map(addWheels)

TypeScript Playground

/r/typescript Thread