ObterEventosPFResponse.fromJson constructor

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

Implementation

factory ObterEventosPFResponse.fromJson(Map<String, dynamic> json) {
  // Parse dos dados que vêm como string JSON escapada
  List<EventoAtualizacaoPF> eventos = [];
  if (json['dados'] != null) {
    final dadosString = json['dados'].toString();
    if (dadosString.isNotEmpty) {
      try {
        final dadosList = jsonDecode(dadosString) as List<dynamic>;
        eventos = dadosList
            .map((e) => EventoAtualizacaoPF.fromJson(e as List<dynamic>))
            .toList();
      } catch (e) {
        // Se não conseguir fazer parse, cria lista vazia
        eventos = [];
      }
    }
  }

  return ObterEventosPFResponse(
    status: int.parse(json['status'].toString()),
    mensagens: (json['mensagens'] as List<dynamic>)
        .map(
          (e) =>
              MensagemEventosAtualizacao.fromJson(e as Map<String, dynamic>),
        )
        .toList(),
    dados: eventos,
    responseId: json['responseId']?.toString(),
  );
}