J'essaye d'analyser une chaîne json avec des caractères spéciaux dans ses noms d'attributs (points).Analyse JSON avec Scala lift
C'est ce que je suis en train:
//Json parser objects
case class SolrDoc(`rdf.about`:String, `dc.title`:List[String],
`dc.creator`:List[String], `dc.dateCopyrighted`:List[Int],
`dc.publisher`:List[String], `dc.type` :String)
case class SolrResponse(numFound:String, start:String, docs: List[SolrDoc])
val req = url("http://localhost:8983/solr/select") <<? Map("q" -> q)
var search_result = http(req ># { json => (json \ "response") })
var response = search_result.extract[SolrResponse]
Même si ma chaîne JSON contient des valeurs pour tous les champs c'est l'erreur que je reçois:
Message: net.liftweb.json.MappingException: No usable value for docs
No usable value for rdf$u002Eabout
Did not find value which can be converted into java.lang.String
Je soupçonne que ce a quelque chose à voir avec le point sur les noms mais jusqu'ici je n'ai pas réussi à le faire fonctionner.
Merci!
C'est un extrait de mon fichier LiftProject.scala:
"net.databinder" % "dispatch-http_2.8.1" % "0.8.6",
"net.databinder" % "dispatch-http-json_2.8.1" % "0.8.6",
"net.databinder" % "dispatch-lift-json_2.8.1" % "0.8.6"
DataBinder tire et version plus ancienne de ascenseur JSON, il y a un fil à ce sujet sur la liste de diffusion de ascenseur, je ne trouve pas maintenant mais affichera le lien plus tard aujourd'hui. – fmpwizard
Essayez ceci http://osdir.com/ml/liftweb/2011-10/msg00806.html – fmpwizard