如何在dart中将List <Class>插入Map <String,dynamic>中?

时间:2019-11-18 17:24:56

标签: flutter dart

我的问题是我有以下课程的列表:

class ingreso_Egreso_Dummy{
  int tipo;
  String monto;
  String moneda;
  String descripcion;
}

然后我要将数据插入到Map中,稍后将其转换为json并由我创建:

    Map<String, dynamic> body;
        body = {
          "Cod_Prom": "01",
          "CodCli": "003526",
          "Status": _index_status.toString(),
          "NOMBRE": controller_nombre.text,
          "APELLIDOS": controller_apellidos.text,
          "solicitud":[{
            "Cod_Solicit": 1.toString(),
            "Fecha": DateFormat("y-d-M").format(DateTime.now()),
            "Status_Solicit": "E",}],
          "prestamo":[{
            "Monto_Solicit":controller_monto_solic.text,
            "Plazo":controller_plazo.text,
            "Cod_TipoPlazo":_index_tipoplazo.toString(),
            "Nombre_Resp":controller_nombreresp.text,
            "Telf_Resp":controller_telefonoresp.text,}],
          "Ingresos": [{
    //// here I want create a loop that returns a map for each value
   //// of the list like this:

   //// "Descripcion": Listaingresos[i].descripcion;

            })
          }]
        };

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

// camelCaseStyle is a standard for class names for Dart     
class IngresoEgresoDummy { 
  int tipo;
  String monto;
  String moneda;
  String descripcion;
  Map<String, dynamic> toJson(){
    return {
      'tipo': tipo,
      'monto': monto,
      'monedo': moneda,
      'descripcion': descripcion
    };
  }
}

然后是

List<IngresoEgresoDummy> listaingresos= List();

Map<String, dynamic> body = {
// all your params
  "Ingresos": listaingresos.map((ingreso) => ingreso.toJson()).toList()
// all your params
};