gpt4 book ai didi

javascript - 如何给我的 JSON 字典一个主键,而不将其实现到我的循环中?

转载 作者:行者123 更新时间:2023-12-01 01:00:04 24 4
gpt4 key购买 nike

我正在将一些代码从python翻译成Javascript(我对JS没有经验),作为其中的一部分,我需要编写一个JSON,目前在用JS编写时,它看起来像这样(只是一个简短的示例):

[
{
"Num": "000000",
"Status": 1,
},
{
"Num": "00001",
"Status": 0,
},
]

但是我需要它看起来像这样:

{
"mydata": [
{
"Num": "00000",
"Status": 1,
},
{
"Num": "00001",
"Status": 0,
},
]
}

如何调整我的代码来为整个 JSON 生成这个单一主键,这是我到目前为止所拥有的:

var jsondata = []
for (result in results) {
jsondata.push({

'Num' : idnum,
'Status': results[result].StatusID,
})
}

let data = JSON.stringify(jsondata, null, 2)
fs.writeFileSync('testingjson.json', data)

这里的代码位于 for 循环中,因此我不能只在 push 中写入 key ,它会为循环的每次迭代生成 mydata 键。

我需要知道如何预定义mydata,有人有好的方法吗?

最佳答案

只需将 mydata 定义为数组,然后在最后创建一个对象,其中 mydata 是其中一个键:

const mydata = []
for (const result in results) {
mydata.push({
'Num' : idnum,
'Status': results[result].StatusID,
});
}
const json = JSON.stringify({ mydata }, null, 2);

如果您想使用不同的键名,请在字符串化时更改它,例如:

const json = JSON.stringify({ someKeyName: mydata }, null, 2);

如果results是一个对象,那么你可以使用Object.valuesmap使代码更加简洁:

const Num = idnum;
const mydata = Object.values(results)
.map((item => ({ Num, Status: item.StatusID }));
const json = JSON.stringify({ mydata }, null, 2);
fs.writeFileSync('testingjson.json', data)

关于javascript - 如何给我的 JSON 字典一个主键,而不将其实现到我的循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56162289/

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