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

250
Views
Javascript: cómo escribir registros en un archivo línea por línea separados por una coma pero sin una coma final al final

Tengo un archivo de registros (uno por línea):

 Record1 Record2 Record3

Estoy usando los módulos fs y readline para eso:

 const rs = fs.createReadStream('input.txt'); const ws = fs.createWriteStream('output.json', { encoding: "utf8" }); const rl = readline.createInterface({ input: rs, crlfDelay: Infinity, }); ws.write('['); for await (const line of rl) { ws.write(`${line},\n`); } ws.end(']');

Pero este ciclo también arrojará una coma final al final del archivo, lo cual es malo porque las comas finales no están permitidas en JSON.

El problema es que no quiero leer todo el archivo en la memoria y no sé la cantidad de registros por adelantado.

Editar:

Este es un ejemplo simple, pero en el código real, el registro se transforma en un registro json, pero es irrelevante.

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

0

Al crear una variable local para rastrear si ya encontró el primer registro, puede anteponer la coma a todas las entradas después de la primera, logrando el mismo efecto:

Tenga en cuenta que, debido a que los espacios en blanco son insignificantes en JSON, disminuirá el tamaño del archivo resultante al omitir las líneas nuevas

 ws.write('['); let comma = false; for await (const line of rl) { if (!line.trim()) continue; if (comma) ws.write(','); ws.write(line); comma = true; } ws.end(']');
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!