J'essaie de transmettre cette chaîne JSON à mon autre méthode, mais parfois, je reçois cette erreur,
play.api.libs.json.jsResultException: JSRESULTEXCEPTION (ERREURS: LISTE (((liste (validationError (Erreur.Expecté.jsstring, Wraparray ())))) P> BlockQuote>
Je trouve qu'il est étrange que cela se produit au hasard, parfois je ne reçois pas l'exception et parfois je le fais. Toutes les idées? P>
Voici ce que mon JSON ressemble à p>
xxx pré> je l'ai lu comme p>
xxx pré> p>
3 Réponses :
Mais si vous avez besoin (string \ "nom") code> donne jsvalue code> non jstring code> donc comme [string] code> ne fonctionne pas . Valeur de la prénom Code> Vous pouvez faire P> val firstName = ((json \ "first_name") \ "value").as[String]
Tout d'abord, vous ne pouvez pas traverser un objet string strong>, votre entrée doit donc être convertie en JSValue strong> pour pouvoir le traverser: alors le Je ne peux qu'expliquer l'apparence aléatoire de JsResultException forte> par un changement de radom de votre Premier_Name strong> Structure JSON de champ. Marquez sur votre apport de piqûre sur Traverse a toujours une structure classée forte> FORTRY_NAME FORT>. P> P>
Ceci est une autre option à prendre en compte pour la sécurité de type lors de la lecture et de l'écriture JSON avec une API JSON JSON. Ci-dessous, je montrent avec votre JSON comme exemple de lecture et d'écriture de lecture est analogue. p>
représente des données comme des classes de cas. P>
écrire implicite lecture / écriture pour vos classes de cas. p>
Employez la combinaison de combinaisons Lire les API. Importer l'implicite où vous avez lu le JSON et vous récupérez l'objet de la personne. Vous trouverez ci-dessous l'illustration. p>
Veuillez regarder ici https://www.playframework.com/documentation/ 2.6.x / scalajsonautomated P> Personne de cas (ID: Carte [String, String], FirstName: Carte [String, String], Nom: [String, String] Code> P> LI>
implicital VAL Personreads: lit [personne] code> p> li>
val personnagej = json.fromjson [personne] (JSON) code> p> li>
ol>
Quel résultat obtenez-vous lorsque vous n'obtenez pas une exception? Parce que la valeur du champ
premier_name code> apparemment n'est pas une valeur de chaîne.Et
chaîne code> n'est pas JSON.