Alguma idéia de por que o JSON deixou de fora o NaN e o +/- Infinity? Ele coloca o Javascript na estranha situação em que os objetos que seriam serializáveis não são, se eles contêm NaN ou +/- valores infinitos.
Parece que isso foi feito em pedra: consulte RFC4627 e ECMA-262 (seção 24.5.2, JSON.stringify, NOTA 4, página 683 do ECMA-262 em última edição):
Os números finitos são especificados como se fossem chamados
ToString(number)
. NaN e Infinity, independentemente do sinal, são representados como a Stringnull
.