Masz pojęcie, dlaczego JSON pomijał NaN i +/- Infinity? Stawia JavaScript w dziwnej sytuacji, w której obiekty, które w innym przypadku byłyby możliwe do serializacji, nie są, jeśli zawierają wartości NaN lub +/- nieskończoności.
Wygląda na to, że zostało to odlane w kamieniu: patrz RFC4627 i ECMA-262 (sekcja 24.5.2, JSON.stringify, UWAGA 4, strona 683 ECMA-262 pdf w ostatniej edycji):
Liczby skończone są taktowane jak przez wywołanie
ToString(number)
. NaN i Infinity niezależnie od znaku są reprezentowane jako ciągnull
.