Comment puis-je désactiver fail_on_empty_beans à Jackson?
À l'aide de jackson 2.1, comment puis-je désactiver le fail_on_empty beans
que le message d'erreur semble vouloir me désactiver?
Je suppose que c'est juste la chose la plus simple du monde, mais l'enfer, il est tard et je n'ai pas été en mesure de trouver un tutoriel ou quelque chose de particulièrement évident à partir de la api
. SerializationFactory
? Pourquoi auraient-ils le faire de manière peu intuitive et puis faire le message d'erreur semble si simple?
Bien que je ne comme le message d'erreur, je veux dire, c'est mieux qu'un NPE.
Je suis en supposant qu'il existe une façon de le faire à l'aide d'annotations - mais je ne suis pas désireux de les utiliser pour la simpliste de travail, je suis en train de faire!
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire par classe ou dans le monde, je crois.
Pour chaque classe, essayez @JsonSerialize au-dessus de la déclaration de classe.
Pour un mappeur, voici un exemple:
La StackOverflow lien ci-dessous est un exemple d'un projet pour le Printemps.
Pour le REPOS avec de Jersey, je ne me souviens pas de désactiver le haut de ma tête, mais je crois que c'est similaire.
Quelques liens que j'ai dégoté: (édité le 1er lien de cause à Codehaus l'arrêt).
@JsonSerialize
pour désactiverFAIL_ON_EMPTY_BEANS
sur déclaration de classe?Si vous utilisez le Printemps de Démarrage, vous pouvez définir la propriété suivante dans l'application.fichier de propriétés.
printemps.jackson.la sérialisation.FAIL_ON_EMPTY_BEANS=false
Vous pouvez également obtenir le même problème si votre classe ne contient pas toutes les méthodes publiques/propriétés. J'ai normalement dédié Otd pour les API, les demandes et les réponses, a déclaré public, mais il a oublié dans un cas, de rendre les méthodes public - ce qui a causé le "vide" de la fève à la première place.
Vous pouvez également probablement annoter la classe avec
@JsonIgnoreProperties(ignoreUnknown=true)
d'ignorer les champs non défini dans la classeSi vous souhaitez obtenir de l'objet JSON sans champs supplémentaires - veuillez ajouter cette annotation à votre classe, il a travaillé parfait pour moi.
Vous pouvez également ajouter dans votre application.fichier de propriétés de cette ligne, mais il va ajouter un champ supplémentaire à votre JSON.
Dans mon cas, j'ai manqué d'écrire @JsonProperty annotation dans l'un des domaines qui a été la cause de cette erreur.
Si vous utilisez org.codehaus.jackson.carte.ObjectMapper, puis pls. utilisez les lignes suivantes
L'ajout d'une solution pour un problème différent, mais qui se manifeste avec la même erreur... Prenez soin lors de la construction de json à la volée (comme l'api réponses ou quoi que ce soit) pour échapper à littérale des guillemets dans votre chaîne de membres. Vous pouvez consommer votre propre malformé json.
T o résoudre ce problème, configurez votre JsonDataFormat classe comme ci-dessous
ObjectMapper mappeur = new ObjectMapper();
mappeur.désactiver(SerializationFeature.FAIL_ON_EMPTY_BEANS);
Salut,
Lorsque j'utilise
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false)
Mon objet json valeurs venir " vide angulaire de page signifie en réponse
Résolu avec l'aide de seulement ci-dessous les paramètres de