La mayoría de los analizadores Json no serializan NaN, porque en Javascript, NaN no es una constante. Json.Net, sin embargo, serializa los valores NaN en NaN, lo que significa que genera Json no válido; intentar deserializar a este Json fracasará con la mayoría de los analizadores sintácticos. (Estamos deserializando en WebKit.)Serializar valores NaN en JSON como nulos en JSON.NET
Hemos pirateado el código Json.Net para generar valores nulos cuando se pasa NaN, pero esto parece una solución pobre. Douglas Crockford (una vez) recomienda el uso de valores nulos en lugar de NaNs:
http://www.json.org/json.ppt (Mira corredera 16)
Es evidente que esto no funcionará en todos los casos, pero que estaría bien para nuestros propósitos. Preferiríamos no tener que modificar el código fuente de Json.Net. ¿Alguien sabe cómo usar Json.Net para convertir las entradas de NaN en salidas nulas?
no funciona para 'double' ** y **' float' - '' doble como es ** ** 'siempre null'?! –
Tienes razón, no funciona para 'float's. No estoy exactamente seguro de por qué '(double?) Value' produce' null' cuando el valor es un flotante, pero '(double?) (Float?) Value' está bien. He actualizado mi respuesta con una solución de trabajo. ¡Gracias! –