On Mon, 23 May 2011 08:50:55 -0500
Anthony Liguori <[email protected]> wrote:
> >> The actual value of the alert will surprise you :-)
> >>
> >> Integers in Javascript are actually represented as doubles
> >> internally which means that integer constants are only accurate up
> >> to 52 bits.
> >>
> >> So really, we should cap integers at 32-bit :-/
> >>
> >> Have I mentioned recently that I really dislike JSON...
> >
> > NB, I am distinguishing between JSON the generic specification and
> > JSON as implemented in web browsers. JSON the specification has *no*
> > limitation on integers.
>
> The spec has no notion of integers at all. Here's the relevant text.
> Note that the BNF only has a single entry point for numbers. It does
> not distinguish between integers and floating point numbers. Also, the
> only discussion of valid numbers is about whether the number can be
> represented as a rational number. I think the only way to read the spec
> here is that *all* numbers are meant to be represented as floating point
> numbers.
Python json works just fine:
>>> import json
>>> json.dumps(9223372036854775807)
'9223372036854775807'
>>> json.loads('9223372036854775807')
9223372036854775807