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

237
Views
¿Cómo nombrar un objeto JSON y escribirlo en un archivo .json?

Traté de crear una variable json vacía como esta;

 var myJSON = { measurements: {} };

y a continuación, traté de insertar datos en json y escribir ese json en el archivo chart.json pero ocurrió un error:

TypeError [ERR_INVALID_ARG_TYPE]: el argumento de "datos" debe ser de tipo cadena o una instancia de Buffer, TypedArray o DataView. Recibió una instancia de Objeto

 connection.query('SELECT Temprature,Humidity, Time from miTemp1', function (error, results, fields) { if (error) throw error; let i = 0, j = 0; console.log(typeof (results)) while (i < results.length) { let myDate = new Date(results[i].Time * 1000); // console.log('Temp: ' + results[i].Temprature, 'Humidty:' + results[i].Humidity, 'Time: ' + myDate.toLocaleString()); measurements[i] = results[i]; i += 510; j++; } myJSON.measurements = JSON.stringify(measurements); console.log(typeof(myJSON)); console.log(myJSON); console.log(new Date().toLocaleString() + ' Number of measurement: ' + j); try { fs.writeFileSync('./chart.json', myJSON); console.log("JSON data is saved."); } catch (error) { console.error(error); } });

Si creo una variable json como var myJSON = {} no hay problema. ¿Por qué está pasando esto? Gracias por la ayuda ^-^

EDITAR:

Aquí están los datos de mi JSON.

 { "0": { "Temprature": 25.88, "Humidity": 43, "Time": 1628164626 }, "510": { "Temprature": 26.22, "Humidity": 45, "Time": 1628169522 },

SOLUCIÓN: Todo lo que necesito hacer es cambiar myJSON.measurements = JSON.stringify(measurements); a myJSON.measurements = measurements; y encadenar todo el objeto.

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

0

No puede simplemente escribir un objeto en un archivo. Primero debe serializarlo con JSON.stringify() :

 fs.writeFileSync('./chart.json', JSON.stringify(myJSON));

Tampoco necesita serializar la propiedad de measurements , ya que serializa todo el objeto. Puedes reemplazar esto:

 myJSON.measurements = JSON.stringify(measurements);

con este:

 myJSON.measurements = measurements;
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!