javascript - 如何从变量向 JSON 对象添加索引
问题描述
我有一个包含 JSON 数组的文件列表:
let rawTopTeams = fs.readFileSync('topTeams.json');
let topTeams = JSON.parse(rawTopTeams);
let allResults = [];
topTeams.teams.forEach(function(value){
teamId = value.id;
let resultsJson = fs.readFileSync('team '+ teamId +'.json');
let resultsParsed = JSON.parse(resultsJson);
// I want to combine them into a unique JSON, and I want to add the file name as a key:
allResults[teamId] = resultsParsed;
问题是这不起作用。尝试做 teamId.toString() 但它不会改变结果(对于 teamId = 6137):
[
<6137 empty items>,
[
{
INFO HERE
},
]
]
如何组合所有这些 JSON 文件,并在它们的唯一 ID 下组织它们,以便以后可以找到它们?
解决方案
您需要做的就是创建一个对象散列,其中键是团队 ID
let rawTopTeams = fs.readFileSync('topTeams.json');
let topTeams = JSON.parse(rawTopTeams);
let allResults = {}; // Notice I changed this to object
topTeams.teams.forEach(function(value){
teamId = value.id;
let resultsJson = fs.readFileSync('team '+ teamId +'.json');
let resultsParsed = JSON.parse(resultsJson);
// This will now add resultsParsed as a subobject of key teamId under allResults object
allResults[teamId] = resultsParsed;
推荐阅读
- myget - (413) 包裹尺寸太大 - MyGet
- java - SearchView 上的 RecycleView 错误
- python - QScrollArea.ensureWidgetVisible 方法不显示目标小部件
- javascript - 是否可以构造一个对象,以便在请求其键时引发错误?
- node.js - Monk - 查询后数据去哪了?
- malloc - STM32 HAL_UART_Transmit 动态字符串
- sql-server - 如何将一个表中的行结果映射为查询中另一个表的标题
- oracle - Salesforce Oracle 集成
- android - Kotlin 不允许多重继承。我怎样才能做等效的事情?
- assembly - x86 程序集的语法检查