fshould be stored in a string or as a JSON floating point literal (or both)
This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers [IEEE754] is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.
int64then your decoded value must me
int64. Although I realize now, the valuew can be verified further like the base64 string.