Сериализация значений NaN в JSON в виде нулей в JSON.NET

Большинство парсеров Json не сериализуют NaN, потому что в Javascript NaN не является константой. Json.Net, однако, сериализует значения NaN в NaN, что означает, что он выводит недействительный Json; попытка десериализовать этот Json будет неудачной для большинства парсеров. (Мы десериализуем в WebKit.)

Мы взломали код Json.Net, чтобы выводить нулевые значения при передаче NaN, но это кажется плохим решением. Дуглас Крокфорд (однажды) рекомендовал использовать нули вместо NaN:

http://www.json.org/json.ppt (Посмотрите на слайд 16)

Очевидно, что это не будет работать во всех случаях, но для наших целей это было бы нормально. Нам просто не хотелось бы модифицировать исходный код Json.Net. Кто-нибудь знает, как использовать Json.Net для преобразования входных NaN в нулевые выходные данные?

8
задан Raphael Schweikert 10 October 2012 в 17:12
поделиться