JSON loads 実行時の parse_float

JSON loads で文字列JSON を読込む時の、浮動小数点の少数桁は以下の動きをする。

import json
from decimal import Decimal

jstr = '{"width": 2.01285481238632125743}'

dc = json.loads(jstr)
print(dc['width'])

dc = json.loads(jstr, parse_float=Decimal)
print(dc['width'])

dc = json.loads(jstr, parse_float=lambda x:round(float(x), 6))
print(dc['width'])

結果

2.0128548123863212
2.01285481238632125743
2.012855

parse_float=None の時、decimal.Decimal と同じではなく、
float(value) と同じである。