Właśnie wykonałem następujący test empiryczny przy użyciu konsoli Chrome (wersja 23 na Macu):
> var j = JSON.parse("[999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999]")
undefined
> j[0]
1e+228
Jeśli JSON jest przesyłany przez HTTP, w każdym przypadku liczba zostanie przekonwertowana na ciąg znaków z języka Java, a problem może dotyczyć tylko JavaScript.
Ze specyfikacji języka ECMAScript 4.3.19 :
4.3.19 Wartość liczbowa
wartość pierwotna odpowiadająca wartości podwójnej precyzji w 64-bitowym formacie binarnym IEEE 754
UWAGA Wartość Number należy do typu Number i jest bezpośrednią reprezentacją liczby.
To właśnie zdefiniowano w Wikipedii w formacie zmiennoprzecinkowym podwójnej precyzji .