У меня есть три файла JSON. Моя цель - создать новый, комбинируя данные из них определенным образом.
В лучшем случае я думаю, что у меня правильная логика и синтаксис для объединения данных (пожалуйста, исправьте меня, если не так), но:
- Я не знаю точно, что, если вообще,
return
в функции.
- Я не знаю, как в конечном итоге написать новый файл, даже если функция верна и завершена.
Первое препятствие заключается в том, что, по крайней мере, когда я регистрирую результат вызова функции, он возвращает undefined . В чем проблема?
Даже если мне это удастся, последние две строки в моем коде полностью и правильно представляют собой способ записи файла?
Я пробовал три варианта, единственное отличие состоит в том, кто я есть и не возвращаюсь.
Код:
var fs = require('fs');
const safeJsonStringify = require('safe-json-stringify');
var asanaProjects = require("C:/Users/GabrielRivera/asana/Asana Projects.json");
var asanaTasks = require("C:/Users/GabrielRivera/asana/Asana Tasks.json");
var asanaAttachments = require("C:/Users/GabrielRivera/asana/Asana Attachments.json");
function buildNewJSON() {
return asanaProjects.map(project => {
project.attachments = []
asanaTasks.map(task => {
if(project.items.includes(task.__object_id)){
asanaAttachments.map(attachment => {
if(task.attachments.includes(attachment.__object_id)){
project.attachments.push(attachment)
return project
}
})
}
})
})
}
console.log(buildNewJSON())
var asanaData = safeJsonStringify(buildNewJSON());
fs.writeFile("asanaData.json", asanaData);
Результирующий файл JSON: [ноль, ноль, ноль ...]
Код:
function buildNewJSON() {
return asanaProjects.map(project => {
project.attachments = []
asanaTasks.map(task => {
if(project.items.includes(task.__object_id)){
asanaAttachments.map(attachment => {
if(task.attachments.includes(attachment.__object_id)){
project.attachments.push(attachment)
}
})
}
})
})
}
console.log(buildNewJSON())
var asanaData = safeJsonStringify(buildNewJSON());
fs.writeFile("asanaData.json", asanaData);
Результирующий файл JSON: [ноль, ноль, ноль ...]
Код:
function buildNewJSON() {
asanaProjects.map(project => {
project.attachments = []
asanaTasks.map(task => {
if(project.items.includes(task.__object_id)){
asanaAttachments.map(attachment => {
if(task.attachments.includes(attachment.__object_id)){
project.attachments.push(attachment)
return project
}
})
}
})
})
}
console.log(buildNewJSON())
var asanaData = safeJsonStringify(buildNewJSON());
fs.writeFile("asanaData.json", asanaData);
Результирующий файл JSON: undefined