PgmeiBaseResponse.fromJson constructor

PgmeiBaseResponse.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory PgmeiBaseResponse.fromJson(Map<String, dynamic> json) {
  Map<String, dynamic>? dadosParsed;
  try {
    final dadosStr = json['dados']?.toString() ?? '';
    if (dadosStr.isNotEmpty) {
      final decoded = jsonDecode(dadosStr);
      if (decoded is Map<String, dynamic>) {
        dadosParsed = decoded;
      }
      // Se decoded for List, os subtipos concretos tratam com chave própria
    }
  } catch (e) {
    // Se não conseguir fazer parse, mantém dados como null
  }

  return PgmeiBaseResponse(
    status: int.parse(json['status'].toString()),
    mensagens: (json['mensagens'] as List)
        .map((m) => Mensagem.fromJson(m as Map<String, dynamic>))
        .toList(),
    dados: dadosParsed,
  );
}