Вы кодируете в JSON, затем снова декодируете. Просто не кодировать , убрать вторую строку:
decodedjson = data.decode('utf-8')
loadedjson = json.loads(decodedjson)
Если вы используете Python 3.6 или новее, вам на самом деле не нужно декодировать из UTF-8, поскольку функция json.loads()
знает, как обращаться с данными JSON в кодировке UTF напрямую. То же самое относится к Python 2:
loadedjson = json.loads(data)
Демонстрация с использованием Python 3.7:
>>> data = b'{"Current": 117.42609405517578, "Accelerometer": -5.394751071929932, "SpeedometerKPH": 67.12493133544922, "Ammeter": 117.3575210571289, "Amp": 117.35590362548828, "Acceleration": -0.03285316377878189, "TractiveEffort": -5.394751071929932, "Effort": 48.72163772583008, "RawTargetDistance": 3993.927734375, "TargetDistanceBar": 0.9777777791023254, "TargetDistanceDigits100": -1.0, "TargetDistanceDigits1000": -1.0}'
>>> loadedjson = json.loads(data)
>>> loadedjson['Ammeter']
117.3575210571289