To jest problem precyzji Javascript.
Według Mozilla Developer Network:
ECMA-262 wymaga jedynie dokładność do 21 cyfr znaczących. Inne implementacje mogą nie obsługiwać dokładności wyższych niż wymagane przez standard.
Źródło: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Number/toPrecision
I wklejony swoją tablicę do konsoli JavaScript Google Chrome i wróciłem to: 
Tak wygląda Javascript jest zaokrąglanie wartości zanim są one konwertowane do formatu XML. Ponieważ twoja konwersja odbywa się za pośrednictwem Javascript w przeglądarce pod numerem http://www.utilities-online.info/xmltojson/, to ma sens, dlaczego numer został zmieniony.
(Uwaga: Testowałem na Google Chrome w wersji 26.0.1410.43 m przy użyciu Windows 7 Professional)
Edit:
Czy jest jakiś powód, dla którego nie można przekazać te wartości jako ciągi JavaScript?
Spróbuj tego:
[
{
"orderNumber": "1",
"customerId": "228930314431312345",
"shoppingCartId": "22893031443137109",
"firstName": "jjj"
}
]
udało mi się to zrobić i zapisać wartości pomyślnie. Jednak nie będziesz w stanie uruchomić obliczeń matematycznych na nich w JavaScript bez utraty precyzji, chyba że robisz coś takiego jak pomnożenie przez 0, oczywiście.

to również konwertowane do formatu XML prawidłowo używając swojego odniesienia http://www.utilities-online.info/xmltojson/.
Próbowałem na IE 9 i Chrome. Zasadniczo, próbuję uzyskać odpowiedź JSON od mojego kontrolera Spring MVC i otrzymuję nieprawidłowe wartości. Użyłem konwertera XML tylko po to, aby pokazać żądanie/odpowiedź. Dzięki! Próbowałem gson i jackson. – Jeet
@Jeet - Zobacz moje ** Edytuj **. Znalazłem obejście, które może działać dla twoich celów. – Aiias
Cóż ... Mogę przekazać je jako struny, ale czy to nie byłby interwencja ręczna? Miałem nadzieję na gotowe rozwiązanie. – Jeet