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

92
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 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