Hầu hết các trình phân tích cú pháp Json không tuần tự hóa NaN, bởi vì trong Javascript, NaN không phải là hằng số. Json.Net, tuy nhiên, không tuần tự hóa các giá trị NaN vào NaN, có nghĩa là nó xuất ra Json không hợp lệ; cố gắng để deserialize Json này sẽ thất bại với hầu hết các trình phân tích cú pháp. (Chúng tôi đang deserializing trong WebKit.)Các giá trị NaN tuần tự hóa thành JSON dưới dạng null trong JSON.NET
Chúng tôi đã hack mã Json.Net để sản lượng giá trị null khi thông qua NaN, nhưng điều này có vẻ như một giải pháp kém. Douglas Crockford (một lần) khuyến cáo sử dụng null ở vị trí của Nans:
http://www.json.org/json.ppt (Nhìn vào slide 16)
Rõ ràng điều này sẽ không làm việc trong mọi trường hợp, nhưng nó sẽ là ok cho các mục đích của chúng tôi. Chúng tôi không muốn thay đổi mã nguồn của Json.Net. Có ai biết làm thế nào để sử dụng Json.Net để chuyển đổi đầu vào NaN vào đầu ra null?
Không làm việc cho 'double' ** VÀ ** 'float' -' như đôi 'là ** luôn **' null'?! –
Bạn nói đúng, nó không hoạt động với 'float'. Tôi không chắc chắn lý do tại sao '(double?) Value' mang lại' null' khi giá trị là một float nhưng giá trị '(double?) (Float?)' là ok. Tôi đã cập nhật câu trả lời của mình bằng giải pháp làm việc. Cảm ơn! –