class AWSJson { String syncToken = ""; String createDate = ""; List prefixes = []; List ipv6_prefixes = []; AWSJson._(); factory AWSJson.parse(Map js) { AWSJson ajs = AWSJson._(); ajs.syncToken = js['syncToken'] as String; ajs.createDate = js['createDate'] as String; List LPv4 = js['prefixes'] as List; for (var entry in LPv4) { ajs.prefixes.add(AWSIP.parse(entry as Map, ipv6: false)); } List LPv6 = js['ipv6_prefixes'] as List; for (var entry in LPv6) { ajs.ipv6_prefixes .add(AWSIP.parse(entry as Map, ipv6: true)); } return ajs; } } class AWSIP { String ip_prefix = ""; String region = ""; String service = ""; String network_border_group = ""; AWSIP._(); factory AWSIP.parse(Map js, {required bool ipv6}) { AWSIP ip = AWSIP._(); ip.ip_prefix = js["${ipv6 ? "ipv6_" : "ip_"}prefix"] as String; ip.region = js['region'] as String; ip.service = js['service'] as String; ip.network_border_group = js['network_border_group'] as String; return ip; } }