qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu: json: Fix parsing of integers >= 0x800000


From: Luiz Capitulino
Subject: Re: [Qemu-devel] [PATCH] qemu: json: Fix parsing of integers >= 0x8000000000000000
Date: Mon, 23 May 2011 11:02:16 -0300

On Mon, 23 May 2011 08:50:55 -0500
Anthony Liguori <address@hidden> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]