Comment by chpatrick

2 months ago

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

I am aware, but Python has that by default. In Javascript it's opt-in and less ergonomic. E.g. try loading a 64-bit integer from JSON.

  • I agree, but bigints are missing from json because the json spec defines all numbers as 64 bit floats. Any other kind of number in JSON is nonstandard.

    JavaScript itself supports bigint literals just fine. Just put an ‘n’ after your number literal. Eg 0xffffffffffffffn.

    There’s a whole bunch of features I wish we could go in and add to json. Like comments, binary blobs, dates and integers / bigints. It would be so much nicer to work with if it has that stuff.

    • > the json spec defines all numbers as 64 bit floats

      It absolutely doesn't. It doesn't impose any limits on number precision or magnitude.