Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

355
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda