Formater JSON sans perdre les grands entiers
Le formatage doit rendre un document lisible sans modifier ses identifiants. Testez la conservation des nombres avant de formater des identifiants 64 bits ou des décimaux précis.
Par Utilify team · Mis à jour
Où se produit la perte de précision
Le type Number de JavaScript représente exactement les entiers jusqu’à 9 007 199 254 740 991. JSON.parse peut arrondir un identifiant supérieur avant même le formatage. Une fois arrondi, un nouvel affichage ne peut pas retrouver ses chiffres d’origine.
{"id":9007199254740993,"amount":1.2300}
Preserved:
{
"id": 9007199254740993,
"amount": 1.2300
}Choisir un formateur qui préserve les nombres
Le formateur JSON de Utilify recopie chaque nombre de l’entrée sans le convertir en Number. Les grands entiers, zéros décimaux finaux et notations exponentielles restent inchangés. L’indentation et le tri facultatif des clés changent la présentation, pas ces nombres.
Collez l’exemple dans le formateur et comparez l’identifiant et le montant. Les avertissements du validateur signalent les entiers que d’autres logiciels JavaScript risquent d’arrondir. Un formatage fidèle ne modifie pas l’analyse effectuée ensuite par une autre application.
Protéger toute la chaîne de traitement
Si vous contrôlez le contrat d’API, envisagez des identifiants sous forme de chaînes et un type numérique adapté aux calculs. Ne mettez pas automatiquement entre guillemets les nombres d’un autre système : changer leur type peut casser la validation ou le comportement. Les clés dupliquées méritent également une vérification.