L'erreur de format Json est généralement causée par un problème entre les données json sur le serveur et le format d'analyse de votre client.
Solution :
1 Utilisez org.json.JSONObject pour analyser à partir de When. en récupérant les données json du réseau, je rencontre JSONException : java.lang.String ne peut pas être converti en JSONObject. Il n'y a aucun problème lors de l'impression de la chaîne et de la visualisation de la chaîne json
2. La raison du problème est que lors de l'écriture du fichier json, l'encodage utf-8 est utilisé, et tout ira bien si vous supprimez ce format ; 🎜>
3 ,Une autre façon consiste à supprimer l'en-tête BOM dans le code Java. La méthode Select reprojete la collection d'objets et convertit l'attribut Birthday en un nouvel attribut. Notez que l'attribut doit être renommé une fois l'attribut modifié. Le nom de l'attribut peut être le même que vous pouvez utiliser. la méthode select ou l'expression de requête LINQ ici , vous pouvez également choisir d'autres méthodes pour atteindre le même objectif ; cette méthode peut supprimer les attributs qui ne sont pas utilisés par le client dans la collection pour atteindre simplement l'objectif d'optimiser les performances.
Le backend fournit des API pour les appels front-end. Généralement, HttpMessageConverter est utilisé pour convertir les chaînes Json en objets. S'il y a un problème de format, une exception HttpMessageNotReadableException sera levée. Cependant, la chaîne Json originale ne peut pas être obtenue en arrière-plan et il n'est pas pratique de localiser l'erreur de format exacte. Cet article présente une méthode simple pour afficher les informations Json d'origine lorsqu'une erreur se produit.
Au début, je voulais trouver d'autres moyens lorsqu'une exception est levée, lire le contenu du corps depuis HttpServletRequest. Mais cela ne peut pas être fait car lors de la lecture de Json, le InputStream a été lu et le contenu du corps ne peut pas être obtenu à nouveau. Vous pouvez donc personnaliser MessageConverter.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!