dart - Flutter: no se pueden cargar datos específicos desde la API

CorePress2024-01-25  11

Estoy intentando cargar datos desde una API pero devuelve un valor nulo. Intenté cambiar la URL a una cadena pero es lo mismo

la API:

  "stores": [
  {
  "id": 290375,
  "url": "https://store.playstation.com/en-us/product/UP1004-CUSA00419_00-GTAVDIGITALDOWNL", // this returns a null value 
  "store": {
  "id": 3,
  "name": "PlayStation Store",
  "slug": "playstation-store",
 "domain": "store.playstation.com",
 "games_count": 7377,
  "image_background": "https://media.rawg.io/media/games/328/3283617cb7d75d67257fc58339188742.jpg"
  }
  },

el modelo de datos:

class StoresModel {
final id;
final url;
final StoreModel store;

StoresModel(this.id,this.url,this.store);

StoresModel.fromJson(Map<String, dynamic> json)
  : id=json["id"]??"",
    url=json["url"]??"No Available Url",
    store=StoreModel.fromJson(json["store"]) ?? [];

}

¿Dónde está analizando los datos de respuesta del servidor en StoresModel? Escribe ese código por favor

- Dharmbir Singh

28 de marzo de 2021 a las 3:12



------------------------------------

¿Por qué no utilizas la función futura? ejemplo:

   Future get getDatafx async {
  var url = 'your url';
  var response = await http.get(url);
  var responsebody = jsonDecode(response.body);
  return responsebody;
}

entonces puedes usar Future Builder

 return Scaffold(
    body: FutureBuilder(
  future: getDatafx,
  builder: (BuildContext context, AsyncSnapshot snapshot) {
    if (snapshot.hasData) {
      return ListView.builder(itemBuilder: (context, i) {
        return Container(
            height: 100, width: 200, child: Text(snapshot.data[i]["timestamp"]));
      });
    } else {
      return CircularProgressIndicator();
    }
  },
));

5

Es posible que hayas entendido mal mi problema. Todo funciona bien, pero los datos almacenados en la URL devuelven una cadena vacía.

-Iheb Yh

28/03/2021 a las 20:33

Eso significa que se envía como un valor nulo, un valor nulo en realidad, cuando llega a su dispositivo. Sí, primero te entendí mal.

-Huthaifa Muayyad

28/03/2021 a las 20:47

Pero si se envía como un valor nulo, devolverá "no hay URL disponible" ?? ¿Y por qué envía un valor nulo cuando tiene datos?

-Iheb Yh

28/03/2021 a las 20:49

Si no devuelve "ninguna URL disponible", entonces se envía como una cadena que es "nula". ¿Estás seguro de que los demás datos se están analizando bien?

-Huthaifa Muayyad

28/03/2021 a las 20:51

Sí, estoy bastante seguro y apareció en mi interfaz de usuario.

-Iheb Yh

28/03/2021 a las 20:53

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare