Intentando hacer una solicitud a través de la promesa de solicitud, pero no funciona correctamente.
Vea el comentario a continuación.
¿Alguien me puede explicar este PiA?
Gracias por adelantado
var todayOptions = { uri: `http://mlb.mlb.com/gdcross/components/game/mlb/year_${year}/month_${month}/day_${day}/master_scoreboard.json`, simple: false, resolveWithFullResponse: true }; rp(todayOptions) .then(function (response){ console.log(response.body); //RETURNS BODY console.log(response.body.data); //RETURNS UNDEFINED EVEN THOUGH IT EXISTS }) .catch(function(error){ console.log(error); });Necesita establecer la opción json en verdadero:
var todayOptions = { uri: `http://mlb.mlb.com/gdcross/components/game/mlb/year_${year}/month_${month}/day_${day}/master_scoreboard.json`, simple: false, resolveWithFullResponse: true, json: true };Mi apuesta es response.body es un objeto JSON en cadena. Intenta analizarlo. request-promise devuelve un objeto en forma de cadena a veces.
console.log(JSON.parse(response.body).data);
Si esto todavía no funciona para usted, como no funcionó para mí, intente agregar esto a sus opciones:
codificación: 'utf8'
Eso me solucionó todo. Ni siquiera tiene que meterse con la composición json.parse o json.stringify. La respuesta ya es un objeto json si ya tiene json: true en sus opciones.