OrderedDict, как обсуждалось в другом месте, является большей частью решения вашей проблемы, а ObjDict может быть даже лучше.
Однако, если вам нужен порядок, поддерживаемый при загрузке, вам также понадобится json.loads () для загрузки значений в OrderedDict. Для этого используйте
from collections import OrderedDict
values=json.loads(jsontext,object_pairs_hook=OrderedDict)
В противном случае, даже если файл json будет в порядке, этот порядок будет потерян при загрузке.
Возможно, еще лучшим решением является использование ObjDict вместо OrderedDict.
Это требует установки пипа. ObjDict по-прежнему поддерживает порядок, как и в случае с OrderedDict, но также обеспечивает поддержку JSON и улучшенную обработку этого примера.
from objdict import ObjDict
values = ObjDict("""{"profile" : "testprofile",
"format": "RSA_RC4_Sealed" }""")
values.enc_key = base64.b64encode(chiave_da_inviare)
values.request = base64.b64encode(data)
values_json = values.dumps(separators=(',', ':'))