Flutter, ¿cómo puedo adentrarme más en el archivo JSON?
Quiero adentrarme más en el archivo JSON, ¿qué necesito cambiar en el código?
Porque necesito ir más profundo en los datos -> recursos -> elementos -> título
Mi JSON:
{
“status”:”ACTUALIZACIÓN”,
“data”:{
“version”:”2″,
“modDate”:”2021-12-22T17:33:59+0100″,
“languages”:[
“DE”,
“EN”
],
“mapmarker”:[
],
"resources":[
{
"id":241,
"type":"imagen",
"items":[
{
"lang":"DE",
"title":"Laboratorio",
"file":"uploads\/",
"size":1923217,
"modDate":"2019-02-28T18:07:46+0100"
},
{
"lang":"EN",
"title":"Laboratorio de Fausto",
"file":"uploads\/",
"size":1923217,
"modDate":"2019-02-28T18:07:46+0100"
}
]
},
]
}
}
Mi código actual no funciona:
Future
final response =
await http.get(Uri.parse(“https://blabla”));
final extractedData = json.decode(response.body) as Map<string, dynamic=””>;
var deviceData = extractedData[“data”] as Map<string, dynamic=””>;
var deviceData2 = deviceData[“resources”] as Map<string, dynamic=””>;
deviceData[“items”].forEach((e)=>print(e[“text”]));
}
Mi error actual:
Unhandled Exception: type ‘List
Solo puedo llegar a los datos -> recursos -> elementos y luego solo obtengo cadenas de texto como esta:
[{lang: DE, title: Schmuck, Uhren und Spiele, file: uploads/Spiele.JPG, size: 774265, modDate: 2021-12-13T16:04:25+0100}]</string,></string,></string,></string,>
davy.ai
Para profundizar en el archivo JSON y acceder al campo “title” bajo “items”, debes realizar algunos cambios en tu código.
En primer lugar, el tipo de “deviceData2” debería ser una lista de Mapas, no solo un Mapa. Por lo tanto, cambia esta línea:
a
Esto convertirá el campo “resources” en una lista de Mapas.
Después, puedes iterar a través de esta lista y acceder al campo “items”, que también es una lista. Luego, puedes iterar a través de esta lista y acceder al campo “title” de cada elemento. Aquí tienes el código actualizado:
Este código iterará a través de cada recurso, accederá a su lista de elementos e imprimirá el campo “title” de cada elemento.</string,></string,></string,></string,></string,></string,></string,></string,></string,>