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

91
Views
Cómo mostrar JSON en una página y también leer un valor particular de ella

Me gustaría que mi código obtenga JSON y lea el valor de temperatura de Londres.

Cualquier ayuda será muy apreciada.

Sin embargo, tengo dos problemas, los datos obtenidos muestran esto: [objeto Objeto]

  1. ¿Cómo repararlo?
  2. Cómo hacer que obtenga el valor de temperatura para Londres, que está en main y temp.

Tal vez así:

 data.["main"].temp

Es una temperatura Kelvin para Londres, 277,21.

Mi JSON:

 { "coord": { "lon": -0.1257, "lat": 51.5085 }, "weather": [{ "id": 800, "main": "Clear", "description": "clear sky", "icon": "01n" }], "base": "stations", "main": { "temp": 277.21, "feels_like": 275.36, "temp_min": 274.4, "temp_max": 279.13, "pressure": 1042, "humidity": 93 }, "visibility": 9000, "wind": { "speed": 2.06, "deg": 230 }, "clouds": { "all": 9 }, "dt": 1642014889, "sys": { "type": 2, "id": 2019646, "country": "GB", "sunrise": 1641974505, "sunset": 1642004119 }, "timezone": 0, "id": 2643743, "name": "London", "cod": 200 }

Mi código incorrecto:

 $.ajax({ url: "https://api.openweathermap.org/data/2.5/weather?q=London&appid=a7a01852c805157a4c8334e87e39c75c", cache: false, dataType: "json", complete: function(data) { tempLondon = data; $('#tempLondon').append('The temperature is ' + tempLondon ); console.log(tempLondon); } });
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Cuando convierte un objeto en una cadena, por ejemplo, al intentar insertarlo directamente en el marcado, se convierte en '[object Object]' . Si bien esto ciertamente no es intuitivo, debe recordar que los objetos pueden contener referencias circulares, por lo que es posible que no sea posible convertirlos en cadenas.

Sin embargo, en su lugar, puede usar JSON.stringify para convertir su objeto en una cadena JSON e imprimirla en la consola:

 console.log(JSON.stringify(tempLondon, null, '\t'));

Debido a que su objeto se construye a partir de una cadena JSON en primer lugar (esto sucede detrás de escena en la función $.ajax de jQuery), no puede contener ninguna referencia circular, por lo que no habrá ningún problema para construir una cadena JSON a partir de él.

Si desea recuperar la temperatura en sí, simplemente use la notación de puntos:

 console.log(tempLondon.main.temp);
about 4 years ago · Juan Pablo Isaza Report

0

prueba esto

 $.ajax({ type: 'GET', url: "https://api.openweathermap.org/data/2.5/weather?q=London&appid=a7a01852c805157a4c8334e87e39c75c", dataType: "json", success: function(data) { console.log(JSON.stringify(data)); $('#tempLondon').html('The temperature is ' + data.main.temp ); }, error: function (error) { console.log(JSON.stringify(error)); } });

en el futuro no pongas punto y paréntesis juntos.

es válido

 data.main.temp //or data["main"].temp

NO es valido

 data.["main"].temp
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!