Saltar al contenido

Flutter: iterar a través de claves y valores de objetos

Solución:

No hay.

Lo que estás pidiendo es reflexión. Puedes usar el dart:mirrors API para eso, si la biblioteca está disponible en su plataforma (no está en Flutter). Es posible que pueda generar código para ello utilizando package:reflectable. O puedes usar package:json_serializable para generar un Map de un objeto.

Si solo está tratando de hacer algo para una clase en particular, simplemente escribiría manualmente:
dart
Map<String, dynamic> toJson() => {"id": id, "title": title, "article": article};

y luego utilícelo cuando desee iterar.

Esto me molesta casi todos los días. También es un problema en el lado web de Dart. En mi opinión, esta es una de las principales deficiencias de Dart …

Sin embargo, aquí está mi solución. Estoy usando una clase de interfaz para estas clases “serializables”.

abstract class JsonTO {
    Map<String, dynamic> toJson();
}

class Device implements JsonTO {
    Map<String, dynamic> toJson() {
        return ... Your serialization thing
    }  
}

main() {
    final device = Device();
    final json = device.toJson();

    json.forEach((final String key, final value) {
        _logger.info("Key: {{$key}} -> value: ${value}");
        // do with this info whatever you want
    }); 
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *