> 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.