Une idée pourquoi JSON a omis NaN et +/- Infinity? Cela met Javascript dans la situation étrange où les objets qui seraient autrement sérialisables, ne le sont pas, s'ils contiennent des valeurs NaN ou +/- infini.
On dirait que cela a été coulé dans la pierre: voir RFC4627 et ECMA-262 (section 24.5.2, JSON.stringify, NOTE 4, page 683 du pdf ECMA-262 lors de la dernière édition):
Les nombres finis sont stringifiés comme en appelant
ToString(number)
. NaN et Infinity, quel que soit le signe, sont représentés par la chaînenull
.