对动态创建json感到困惑

问题描述 投票:0回答:4

我正在尝试从DynamoDB返回的数据创建一个JSON。而我对如何创建它很困惑。

目前,我将数据导入数组并填充下面的JSON是我的代码。

var res = {};

dynamodb.scan(params).promise().then(function (data) {
    var ingred = data.Items[0].ingredients;
    res = {
        [ingred]: {}
    };
    ingred.max = Math.max(...data.Items.map(({max}) => parseFloat(max))) + "";
    ingred.min = Math.min(...data.Items.map(({min}) => parseFloat(min))) + "";

    console.log(JSON.stringify(res, null, 4));

})

在这里运行时,我得到如下输出。

{
    "a": {}
}
{
    "b": {}
}
{
    "c": {}
}

当我将代码更改为下面的代码时

var res = {};

        dynamodb.scan(params).promise().then(function (data) {
            var ingred = data.Items[0].ingredients;
        console.log(ingred);
            ingred = {};
            ingred.max = Math.max(...data.Items.map(({ max }) => parseFloat(max))) + "";
            ingred.min = Math.min(...data.Items.map(({ min }) => parseFloat(min))) + "";

            console.log(JSON.stringify(ingred, null, 4));

        })

我得到的输出如下

a
{
    "max": "14",
    "min": "8.5"
}
b
{
    "max": "1.98",
    "min": "0.37"
}
c
{
    "max": "155",
    "min": "6"
}

我试图达到如下结果。

{
    "a": {
        "max": "14",
        "min": "8.5"
    },
    "b": {
        "max": "1.98",
        "min": "0.37"
    },
    "c": {
        "max": "155",
        "min": "6"
    }
}

请告诉我如何实现这一目标。

谢谢

javascript json
4个回答
© www.soinside.com 2019 - 2024. All rights reserved.