tracers.py icon indicating copy to clipboard operation
tracers.py copied to clipboard

Address Infinity and NaN JSON Serialisation

Open MarkKoz opened this issue 6 years ago • 1 comments
trafficstars

Quote from Python's json module documentation:

This module does not comply with the RFC in a strict fashion, implementing some extensions that are valid JavaScript but not valid JSON. In particular:

  • Infinite and NaN number values are accepted and output;

This is a problem because JavaScript's JSON parser will consider values such as Infinity (note this is not a string) as invalid.

A custom JSONEncoder can be used to address these issues, but the question remains to what these values should be serialised. What format will allow JavaScript to properly interpret them? Oddly enough, JS itself serialises Infinity to null so that's not an answer.

MarkKoz avatar Aug 03 '19 18:08 MarkKoz

Sorry for the late response. I think tracers.py should (still) simply serialize Infinity and NaN to null so that it behaves the same as tracers.js does.

64json avatar Aug 27 '19 07:08 64json