Większość parserów Json nie szereguje NaN, ponieważ w JavaScript NaN nie jest stałą. Json.Net dokonuje jednak szeregowania wartości NaN na NaN, co oznacza, że wyprowadza nieprawidłowy Json; próba deserializacji tego Jsona zakończy się niepowodzeniem z większością analizatorów składni. (Odzyskujemy deserializację w WebKit.)Serialize wartości NaN do JSON jako wartości null w JSON.NET
Zhakowaliśmy kod Json.Net, aby wyprowadzić wartości null, gdy minie NaN, ale wydaje się, że to kiepskie rozwiązanie. Douglas Crockforda (raz) Zaleca się korzystanie null zamiast Nans:
http://www.json.org/json.ppt (Spójrz na slajd 16)
Oczywiście to nie będzie działać we wszystkich przypadkach, ale byłoby ok dla naszych celów. Wolelibyśmy raczej nie modyfikować kodu źródłowego Json.Net. Czy ktoś wie, jak używać Json.Net do konwertowania danych wejściowych NaN na puste wyniki?
nie działa dla 'double' ** I **' float' - '' jako podwójna zawsze jest ** ** 'null'? –
Masz rację, nie działa dla 'float's. Nie jestem do końca pewien, dlaczego '(double?) Value' daje' null', gdy value jest float, ale '(double?) (Float?) Value' jest ok. Zaktualizowałem swoją odpowiedź za pomocą działającego rozwiązania. Dzięki! –