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

84
Views
Los datos del objeto no se convierten cuando se usa JSON.stringify

Estoy atrapado en este problema extraño en el que me cuesta entender lo que está pasando. Cuando se hace clic en un botón, llama a la función onSubmit . Lo que debería hacer la función onSubmit es stringify es el objeto para JSON, sin embargo, para mí esto no sucede. El resultado que obtengo cuando console.log(JSON.stringify(obj)); es [[]] . Cuando console.log(obj); Puedo ver el objeto.

No pude replicar el mismo problema en playcode.io y codesandbox.io

 async function onSubmit() { let l = []; l["Channel"] = undefined; l["MetricsData"] = [ { id: 1, name: "CPA", year: "" }, { id: 2, name: "Average Gift", year: "" }, { id: 3, name: "Average Gift Upgrade %", year: "" } ]; let obj = []; l.Channel = 1; obj.push(l); console.log(obj); console.log(JSON.stringify(obj)); //[[]] }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Como otros han señalado en los comentarios, está creando una instancia de l como una matriz y luego intenta completar las claves con nombre ( Channel , Metricsdata ).
Nota : técnicamente, las matrices son objetos , pero son objetos especiales (sus claves están destinadas a ser numéricas y también tienen algunos accesorios y métodos adicionales, específicos de las matrices, por ejemplo: length , pop , push , slice , etc.). .). Use el enlace de arriba para leer más sobre las matrices.

Lo que debe hacer es usar l como objeto (por ejemplo: {} ):

 const l = { Channel: 1, MetricsData: [ { id: 1, name: "CPA", year: "" }, { id: 2, name: "Average Gift", year: "" }, { id: 3, name: "Average Gift Upgrade %", year: "" } ] }; // Uncomment any of the following: // console.log('object:', l); // console.log('stringified object:', JSON.stringify(l)); const items = []; items.push(l); // console.log('items:', items); // console.log('first item:', items[0]); console.log(JSON.stringify(items));

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!