Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

356
Vistas
TypeError: json.push no es una función al agregar objetos json

Me gustaría almacenar JSON en un archivo de texto. Usando:

 let obj = {'column':empty,'ppas':ppa}; await myFunctions.addToStorage(obj); async function addToStorage(obj) { const fs = require("fs"); fs.readFile("storage.json", function (err, data) { var json = JSON.parse(data); json.push(obj); fs.writeFile("storage.json", JSON.stringify(json), function (err) { if (err) throw err; console.log('The "data to append" was appended to file!'); }); }); }

almacenamiento.json contiene:

 {"column":"0:lubbock:LW2-4$","ppas":[{"ppa":50000,"url":"/"},{"ppa":51724.137931034486,"url":"/lubbock"}]}

cuando ejecuto el programa me sale:

 json.push(obj); ^ TypeError: json.push is not a function at /home/....functions.js:5:10

Puedo ver eso, el problema es que estoy tratando de almacenar el elemento en storage.json es un objeto en cadena, no una matriz de objetos en cadena.

¿Cómo configuro el proyecto para que el primer objeto cree una matriz (como si storage.json no existiera) y los objetos posteriores se agreguen a la matriz? ¿Hay un enfoque de uso común para esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Está tratando de insertar elementos en un objeto, no en una matriz

Su código convierte correctamente la cadena en un object javascript, pero no puede push() porque los objetos no son matrices * y no tienen un método push() . Sin embargo, su objeto contiene una matriz de ppas.

No dice qué "matriz" realmente quiere, o qué se supone que debe contener, así que aquí hay algunas conjeturas:

Agregar a la matriz dentro del objeto json

Si está tratando de agregar objetos ppa a la matriz "ppa", debe presionar eso en su lugar: reemplace json.push(obj) con json.ppas.push(obj) . No nos muestra de dónde proviene la variable ppa en la primera línea, pero también debe ser una matriz.

Agregar claves al objeto

Si está tratando de agregar otro objeto único que no sea ppa al objeto json raíz, debe colocarlo bajo una clave diferente: cambie addToStorage(obj) a addToStorage(key, obj) , donde key es una cadena y agregue con json[key] = obj .


* Sin embargo, las matrices son objetos

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda