JSONの数値はNumberとして定義されている。
Numberは8進数や16進数を扱えない。そしてその最大値はJSONの仕様に定義されていない。
JSONの紹介 より
つまりテキストとして保存されるJSONデータは
9e9999999999....
このように桁数を長くすればいくらでも大きい数字を表すことが出来る。
しかしプログラムで数値として扱うときには型の制約が出てくるので、注意が必要だ。
一例を言えば、jqで扱える数値の最大はdouble(倍精度型)と同じ1.7976931348623157e+308だ。
echo '1.7976931348623158e+308' | jq .
1.7976931348623157e+308
それよりも大きな値を与えても1.7976931348623157e+308になってしまう。
echo '2e+308' | jq .
1.7976931348623157e+308
JSONフォーマットで保存するときは数値の大きさにJSONにおける制約はないが、
数値として扱い計算などに使うためには一定の範囲で値を制限する必要がある。