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

251
Views
Cómo cambiar datos de cadenas JSON a datos de números JSON

Buen día a todos, estoy tratando de obtener el valor numérico de 'review' lo que pasa es que en el JSON lo devuelve como un String y por lo tanto no puedo realizar una suma que hice resultando un valor sin sentido

El objetivo es que, cuando alguien hace un comentario sobre un producto X, los datos se guarden en Firebase en un JSON, el problema es que 'review' se guarda como un String y no como un número

¿Hay alguna manera de tomar este único dato y convertirlo en número?

Esta es la respuesta JSON

 "[{\"review\":\"4\",\"comment\":\"Good product \",\"name\":\"SnowFall\",\"image\":\"https://lh3.googleusercontent.com\",\"method\":\"google\"}]"

Este es mi mecanografiado

 callback(i, totalReviews) { if (!this.render) { this.render = true; let globalRating = 0; let globalReviews = 0; setTimeout(function () { totalReviews.forEach((review, index) => { globalRating += review.length; for (const i in review) { globalReviews += review[i].review; console.log("globalReviews", globalReviews); } }) console.log("Raiting", globalRating); console.log("Reviews", globalReviews); let averageReviews = Math.round(globalReviews / globalRating); let precentage = Math.round(globalReviews * 100 / (globalRating * 5)); $(".globalRating").html(globalRating); $(".percentage").html(precentage); let averageRating = DinamicReviews.fnc(averageReviews); $(".br-theme-fontawesome-stars").html(` <select class="ps-rating reviewsOption" data-read-only="true"></select> `) for (let i = 0; i < averageRating.length; i++) { $(".reviewsOption").append(` <option value="${averageRating[i]}">${i + 1}</option> `) } Rating.fnc(); }, i * 10) } }

Así se guarda en FireBase FireBase RealTime Database

Así es como se ve en mi FrontEnd FrontEnd

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

0

Hay una línea en la que asigna el valor .review a la variable globalReviews , ya que está usando += esto concatenará la cadena y ese es el problema al que se enfrenta.

Si cambia esa misma línea a: globalReviews += +review[i].review;

Esto solucionará el error.

La razón por la que funciona agregar un signo + delante de una variable es porque este signo se conoce como Operador Unario Plus , que convierte el valor en un número o, en caso de que el valor almacenado no sea un número, se convertirá siguiendo la documentación del Operador Unario Plus .

Para hacer que este código sea seguro y, por lo tanto, no agregue un posible NaN , puede fallar a 0 usando la siguiente sintaxis globalReviews += +review[i].review || 0;

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!