Comment analyser et extraire des informations de tableau json à l'aide de json4s
Je suis en train d'essayer d'extraire les informations d'un tableau json à l'aide de json4s (scala).
Un exemple de données comme suit:
val json = """
[
{"name": "Foo", "emails": ["[email protected]", "[email protected]"]},
{"name": "Bar", "emails": ["[email protected]", "[email protected]"]}
]
"""
Et mon code est comme suit:
case class User(name: String, emails: List[String])
case class UserList(users: List[User]) {
override def toString(): String = {
this.users.foldLeft("")((a, b) => a + b.toString)
}
}
val obj = parse(json).extract[UserList]
printf("type: %s\n", obj.getClass)
printf("users: %s\n", obj.users.toString)
La sortie s'avère être:
type: class UserList
users: List()
Il semble que les données ne sont pas correctement récupérées. Est-il un problème avec mon code?
Mise à JOUR:
Elle fonctionne conformément à la suggestion de @Kulu Limpa.
OriginalL'auteur yxjiang | 2014-11-21
Vous devez vous connecter pour publier un commentaire.
Votre code est correct sauf que votre JSON est tout simplement un tableau, d'où un
List[User]
. Il ya deux façons de résoudre ce problème, avec un peu différente résultat:Solution 1: fixez votre json à
Solution2: Modifier le paramètre de type de l'extrait de
OriginalL'auteur Kulu Limpa