On Mon, 23 May 2011 08:50:55 -0500 Anthony Liguori <anth...@codemonkey.ws> 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