Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

241
Views
Nodo JS: bucle a través de JSON y valores de mapa

Tengo un JSON como este:

 { "generic": { "tables": { "header": "Header", "columns": "Columns" }, "yes": "Yes", "no": "No" } }

Pero con miles de líneas y más objetos anidados. Necesito traducir todas estas cadenas, así que estoy creando un script para hacerlo. ¿Cómo puedo recorrer cada cadena y reemplazarla con algo?

He buscado y encontrado este hilo: Bucle a través de JSON con node.js pero no puedo encontrar ninguna solución que se ajuste a mis necesidades.

Hice este script rápido:

 const fs = require('fs'); const obj = JSON.parse(fs.readFileSync('en.json', 'utf-8')); const translate = (obj, path = '') => { const keys = Object.keys(obj); keys.forEach((key) => { const type = typeof obj[key]; if (type === 'object') { translate(obj[key], path === '' ? key : path + '.' + key); } else { console.log(path + ' --> [' + key + ']: ' + obj[key]); } }); }; translate(obj);

Recorre la matriz. En la línea de registro de la consola, tengo la ruta completa del elemento de traducción (es decir, 'generic.tables.header') y tengo la clave y el valor de la traducción.

¿Cómo puedo hacer un nuevo objeto que contenga las claves?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que encontré una manera, en lugar de guardar la ruta, crear un objeto vacío e insertar las claves allí:

 const fs = require('fs'); const obj = JSON.parse(fs.readFileSync('en.json', 'utf-8')); const newObj = {}; const translate = (obj, path = '', objVal) => { const keys = Object.keys(obj); keys.forEach((key) => { const type = typeof obj[key]; if (type === 'object') { objVal[key] = {}; const newObjVal = objVal[key]; translate(obj[key], path === '' ? key : path + '.' + key, newObjVal); } else { objVal[key] = obj[key]; //console.log(path + ' --> [' + key + ']: ' + obj[key]); } }); }; translate(obj, '', newObj);
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!