Questo è un problema di precisione Javascript.
Secondo Mozilla Developer Network:
ECMA-262 richiede solo una precisione fino a 21 cifre significative. Altre implementazioni potrebbero non supportare le precisioni superiori a quelle richieste dallo standard.
Fonte: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toPrecision
ho incollato la matrice nella console JavaScript di Google Chrome e tornato questo:
così sembra che Javascript è arrotondamento dei valori prima di essi vengono convertiti in XML. Poiché la conversione viene eseguita tramite Javascript nel browser allo http://www.utilities-online.info/xmltojson/, è logico che il numero sia stato modificato.
(Nota: ho testato su Google Chrome versione 26.0.1410.43 m utilizzando Windows 7 Professional)
Edit:
C'è qualche motivo per cui non è possibile passare questi valori a JavaScript come stringhe?
Prova questo:
[
{
"orderNumber": "1",
"customerId": "228930314431312345",
"shoppingCartId": "22893031443137109",
"firstName": "jjj"
}
]
sono stato in grado di fare questo e salvare i valori con successo. Tuttavia, non potrai eseguire calcoli matematici su di essi in Javascript senza perdere precisione, a meno che tu non stia facendo qualcosa come moltiplicare per 0, ovviamente.
Questo anche convertito in XML correttamente utilizzando il vostro riferimento http://www.utilities-online.info/xmltojson/.
Ho provato su IE 9 e Chrome. Fondamentalmente, sto cercando di ottenere una risposta JSON dal mio controller Spring MVC e sto ottenendo valori non validi. Ho usato il convertitore XML solo per mostrare la richiesta/risposta. Grazie! Ho provato Gson e Jackson. – Jeet
@Jeet - Vedi il mio ** Modifica **. Ho trovato una soluzione alternativa che potrebbe funzionare per i tuoi scopi. – Aiias
Bene ... Posso passarli come stringhe, ma non sarebbe un intervento manuale? Speravo in una soluzione pronta per l'uso. – Jeet