Hago una API de Laravel y verifico la solicitud 'Obtener' de Postman, donde regresará de la siguiente manera:
"answer_selected": "{1:\"True\",2:\"False\"}"Luego, la aplicación Flutter leerá el JSON y lo serializará usando la clase modelo.
¿Hay alguna forma de convertir el valor de "answer_selected" a map<int, dynamic> ? ¿O el formato de respuesta de mi API JSON es incorrecto?
No debe devolver una cadena que no sea un JSON completo. O regresa
o
será mucho mejor. jsonDecode en dart admite la decodificación para map<String, dynamic y la clave en JSON también debe ser una cadena. Así que al JSON le gustaría
Si desea transformarlo en map<int, dynamic> , simplemente hágalo
void test() { String text = '{"1":"True","2":"False"}'; Map<String, dynamic> map = jsonDecode(text); Map<int, dynamic> desiredMap = map.map((key, value) => MapEntry(int.parse(key), value)); desiredMap.entries.forEach((element) { print('${element.key} ${element.value}'); }); }