首页 > 解决方案 > JSON 对象中缺少模型属性

问题描述

我有 3 个模型:

export class Period {
    lifeYears: number;
    lifeDevelopment: number;
}

export class PairYearQuantity {
    id: number;
    year: number;
    quantity: number;
}

export class MarketingPhase {
    status: string;
    period: Period;
    investments: PairYearQuantity[];
    costs: PairYearQuantity[];
}

我创建了一个对象,如下所示:

const marketingPhase: MarketingPhase = {
    status: 'empty',
    period: {
        lifeYears: 3,
        lifeDevelopment: 2
    },
    investments: [
        {
            id: 1,
            year: 2018,
            quantity: 15
        },
        {
            id: 2,
            year: 2019,
            quantity: 8
        }
    ],
    costs: [
        {
            id: 7,
            year: 2018,
            quantity: 21
        },
        {
            id: 8,
            year: 2019,
            quantity: 13
        }
    ]
};

如果我在控制台中打印对象,则缺少“id”属性并且“数量”的值为空。看来 PairYearQuantity 模型运行不佳。

console.log(marketingPhase);

这是结果:

{
    status: 'empty',
    period: {
        lifeYears: 3,
        lifeDevelopment: 2
    },
    investments: [
        {
            year: 2018,
            quantity: null
        },
        {
            year: 2019,
            quantity: null
        }
    ],
    costs: [
        {
            year: 2018,
            quantity: null
        },
        {
            year: 2019,
            quantity: null
        }
    ]
}

但是如果我打印例如console.log(marketingPhase.investments[0].quantity);我得到15

知道这是怎么回事以及如何解决吗?

标签: javascriptjsonangular

解决方案


推荐阅读