Lorsque j'essaie de convertir un objet ayant un champ entier avec la valeur , le fichier JSON converti contient 0
au lieu de 0000
. Comment puis-je configurer ObjectMapper
de Jackson pour convertir 0000
en 00000
?Comment convertir un objet en JSON d'un champ entier ayant des zéros en tête en utilisant Jackson?
Q
Comment convertir un objet en JSON d'un champ entier ayant des zéros en tête en utilisant Jackson?
2
A
Répondre
3
Un 0 en tête indique un nombre octal. Par conséquent, les zéros en tête ne sont pas autorisés pour les valeurs numériques dans JSON. Voir la citation suivante de la RFC 7159:
La représentation des nombres est similaire à celui utilisé dans la plupart des langages de programmation . Un nombre est représenté en base 10 en utilisant chiffres décimaux. Il contient un composant entier qui peut être précédé d'un signe moins facultatif, qui peut être suivi d'une partie fraction et/ou d'une partie exponentielle. Les zéros en tête ne sont pas autorisés.
Si vous avez besoin de zéros en tête, pensez à utiliser une chaîne.
0000 n'est pas un nombre décimal entier. Je ne pense pas que ce soit possible du tout, bien que vous puissiez le stocker comme une chaîne – baao
Vous ne pouvez pas faire cela parce que '0000' n'est pas valide dans JSON. Voir http://www.json.org/ pour le format. – bfontaine