in anghammarad/src/main/scala/com/gu/anghammarad/serialization/Serialization.scala [128:140]
private[serialization] def parseAllTargets(jsonTargets: Json): Try[List[Target]] = {
val c: HCursor = jsonTargets.hcursor
val allTargets = for {
key <- c.keys.map(k => k.toList).getOrElse(List.empty)
address <- c.downField(key).as[String].toOption
parsedTarget = parseTarget(key, address).toEither
} yield parsedTarget
allTargets match {
case _ :: _ => allTargets.traverseE(identity).toTry
case Nil => Fail(s"Parsing error: List of targets is empty")
}
}