gpt4 book ai didi

javascript - 对动态创建 json 感到困惑

转载 作者:行者123 更新时间:2023-11-28 17:39:51 26 4
gpt4 key购买 nike

我正在尝试根据 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"
}
}

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

谢谢

最佳答案

您只需在res中设置ingred

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

关于javascript - 对动态创建 json 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48181266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com