La maggior parte dei parser Json non serializza NaN, perché in Javascript, NaN non è una costante. Json.Net, tuttavia, serializza i valori NaN in NaN, il che significa che emette Json non valido; tentare di deserializzare questo Json fallirà con la maggior parte dei parser. (Stiamo deserializzando in WebKit.)Serializzare i valori NaN in JSON come valori nulli in JSON.NET
Abbiamo hackerato il codice Json.Net per emettere valori nulli quando è passato NaN, ma questa sembra una soluzione scadente. Douglas Crockford (una volta) consiglia di utilizzare null al posto di Nans:
http://www.json.org/json.ppt (Guarda cursore 16)
Chiaramente questo non funziona in tutti i casi, ma sarebbe bene per i nostri scopi. Preferiamo semplicemente non modificare il codice sorgente di Json.Net. Qualcuno sa come usare Json.Net per convertire gli input NaN in output nulli?
non funziona per 'double' ** e **' float' - ' come doppio' è ** sempre ** 'null'?! –
Hai ragione, non funziona per 'float's. Non sono esattamente sicuro del perché '(double?) Value' restituisce' null' quando value è un float ma '(double?) (Float?) Value' è ok. Ho aggiornato la mia risposta con una soluzione funzionante. Grazie! –