Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

3.2K
Visualizações
guarde el valor JSON en la carpeta provista en Javascript / node js

 let obj={ print:{ "2343192u4":{ id:"01", name:"linux file", location:"System config" }, "23438ufsdjh8":{ id:"02", name:"windows file", location:"System config" } }, hardware:{ "9058t05":{ no:"ct-01", refrence:"down-tPO-01" } }, stack:{ "345t5fdfve":{ option1:"prefer first lost", failure:"run backup" } }, backupdir:{ "cjksder8982w":{ files:"config file.json", execute:"run after failure" } } }; let Array=[{ filepath:"print" }, { filepath:"hardware" }, { filepath:"stack" }, { filepath:"backupdir" }, ]; Array.map((file)=>{ //console.log(file.filepath) Object.keys(obj).forEach((key)=>{ if(key===file.filepath){ // fs.writeFile(path.join(__dirname,file.filepath,"system.json"), JSON.stringify(Object.values(obj)[0], null, 4)) console.log("yes"); } }) });

Estoy tratando de obtener la clave del objeto obj JSON y compararlo con la ruta del archivo Array para poder insertar el valor en el archivo json creado

aquí usando fs estoy tratando de crear una carpeta que obtuve de la matriz

 fs.writeFile(path.join(__dirname,file.filepath,"system.json"));

mediante el cual creé la carpeta y el sistema de archivos.json en él y estoy tratando de comparar la clave del obj json y la ruta del archivo de la matriz y tratando de poner así

imprimir/sistema.json

 { "2343192u4":{ id:"01", name:"linux file", location:"System config" }, "23438ufsdjh8":{ id:"02", name:"windows file", location:"System config" } }

hardware/sistema.json

 { "9058t05":{ no:"ct-01", refrence:"down-tPO-01" } }

y así ...

pero el problema es cuando hago esto

 JSON.stringify(Object.values(obj)[0], null, 4)

Obtengo el mismo resultado en cada archivo.

imprimir/sistema.json

 { "2343192u4":{ id:"01", name:"linux file", location:"System config" }, "23438ufsdjh8":{ id:"02", name:"windows file", location:"System config" } }

hardware/sistema.json

 { "2343192u4":{ id:"01", name:"linux file", location:"System config" }, "23438ufsdjh8":{ id:"02", name:"windows file", location:"System config" } }

y así ...

aquí print hardware stack backupdir siempre se cambia y hay varios archivos más, ya que este es un nombre generado aleatoriamente por el sistema, por eso tengo que comparar y la clave del objeto y crear un directorio con este nombre

¿Cómo puedo empujarlos en diferentes carpetas diferentes con su respectivo valor?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Intenta cambiar

 fs.writeFileSync(path.join(__dirname,file.filepath,"system.json"), JSON.stringify(Object.values(obj)[0], null, 4))

(que solo mira el primer valor de propiedad en obj ) para

 fs.writeFileSync(path.join(__dirname,file.filepath,"system.json"), JSON.stringify(obj[key], null, 4))

que busca el objeto de propiedad en obj usando el valor key obtenido de la entrada de Array que se está procesando.

El uso de forEach en Object.keys(obj).forEach((key)=>{ evita que se detenga la búsqueda si se encuentra una ruta de archivo coincidente. Otra opción sería usar un bucle for of que salta si se ha fundar:

 Array.forEach((file)=>{ for( let key of Object.keys(obj)) { if(key===file.filepath) { fs.writeFileSync(path.join(__dirname,file.filepath,"system.json"), JSON.stringify(obj[key], null, 4)); break; } } });

Además: evite usar los nombres de constructores globales como Array como nombres de variables; es un error que está a punto de ocurrir :-)

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda