I thought dart could natively deserialize via dart:convert? It just only decodes to lists and maps, you have to manually map into classes.