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

133
Views
crear un json a partir de una matriz de cadenas usando javascript

Después de raspar una tabla html, almacené mis datos en la variable:

 var data = ["header1", "header2", "a1", "a2", "b1", "b2", "c1", "c2"];

Quiero crear un archivo json en la forma:

 var json = [ { "header1":"a1", "header2":"a2" }, { "header1":"b1", "header2":"b2" }, { "header1":"c1", "header2":"c2" } ]

se que necesito

 var headers={};

y cargarlo con

 headers["header1"] headers["header2"]

Yo también necesito

 var jsonObj = [];

y empuje los encabezados de matriz dentro de jsonObj:

 jsonObj.push(headers);

¿Es posible crearlo?

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

0

Haré algunas suposiciones y luego intentaré responder a su pregunta.

Para mí, parece que tu tabla se parece a:

encabezado1 encabezado2
a1 a2
b1 b2
c1 c2

Simplemente comenzando con la matriz que ya tiene, podemos seleccionar dos y dos valores a la vez. Ver el código a continuación

 const COLUMN_COUNT = 2 const data = ["header1", "header2", "a1", "a2", "b1", "b2", "c1", "c2"] // this removes the headers from the data-list, // and stores them in the headers variable const headers = data.splice(0, COLUMN_COUNT) const output = [] while(data.length > 0) { const row = {} const values = data.splice(0, COLUMN_COUNT) for(const [idx, value] of values.entries()) { const header = headers[idx] row[header] = value } output.push(row) } console.log(output)

about 4 years ago · Juan Pablo Isaza Report

0

En realidad, no existe una relación entre el encabezado y los valores, pero suponiendo que los dos primeros elementos sean siempre header1 and header2 y que el siguiente par sea el valor del encabezado 1 y el encabezado 2 respectivamente, esto podría funcionar.

 const data = ["header1", "header2", "a1", "a2", "b1", "b2", "c1", "c2"]; const res = []; const h1 = data[0]; const h2 = data[1]; data.splice(0, 2); for (let i = 0; i < data.length; i++) { if (i % 2 != 0) { const payload = {}; payload[h1] = data[i - 1]; payload[h2] = data[i]; res.push(payload); } } console.log(res)

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!