in anghammarad/src/main/scala/com/gu/anghammarad/serialization/Serialization.scala [105:115]
private[serialization] def parseMapping(json: Json): Try[Mapping] = {
val hCursor = json.hcursor
val mappings = for {
rawTargets <- hCursor.downField("target").as[Json]
rawContacts <- hCursor.downField("contacts").as[Json]
targets <- parseAllTargets(rawTargets).toEither
contacts <- parseAllContacts(rawContacts).toEither
} yield Mapping(targets, contacts)
mappings.toTry
}