EntregarDeclaracaoResponse.fromJson constructor
EntregarDeclaracaoResponse.fromJson( - Map<String, dynamic> json
)
Implementation
factory EntregarDeclaracaoResponse.fromJson(Map<String, dynamic> json) {
DeclaracaoTransmitida? dadosParsed;
try {
final dadosStr = json['dados']?.toString() ?? '';
if (dadosStr.isNotEmpty) {
final dadosMap = jsonDecode(dadosStr);
// Se for uma lista, retorna a lista
if (dadosMap is Map &&
dadosMap.containsKey('dados') &&
dadosMap['dados'] is List) {
final lista = dadosMap['dados'];
dadosParsed = DeclaracaoTransmitida.fromJson(
lista as Map<String, dynamic>,
);
} else if (dadosMap is Map) {
// Se for um objeto único, retorna como lista com um item
dadosParsed = DeclaracaoTransmitida.fromJson(
dadosMap as Map<String, dynamic>,
);
}
}
} catch (e) {
// Se não conseguir fazer parse, mantém dados como null
}
return EntregarDeclaracaoResponse(
status: int.parse(json['status'].toString()),
mensagens: (json['mensagens'] as List)
.map((m) => Mensagem.fromJson(m as Map<String, dynamic>))
.toList(),
dados: dadosParsed,
);
}