Qualche idea sul perché JSON abbia escluso NaN e +/- Infinity? Mette Javascript nella strana situazione in cui gli oggetti che sarebbero altrimenti serializzabili non lo sono, se contengono valori di NaN o +/- infinito.
Sembra che questo sia stato lanciato in pietra: vedi RFC4627 ed ECMA-262 (sezione 24.5.2, JSON.stringify, NOTA 4, pagina 683 del pdf ECMA-262 all'ultima modifica):
I numeri finiti sono stringiti come se chiamando
ToString(number)
. NaN e Infinity indipendentemente dal segno sono rappresentati come Stringnull
.