Я хотел бы создать JSON-представление класса и автоматически изменить имена свойств с snake_case
на lowerCamelCase
, поскольку я хотел бы соответствовать PEP8 в Python, а также соглашениям об именах JavaScript (и, возможно, что еще более важно, бэкэнд, который я общаюсь с пользователями lowerCamelCase
).
Я предпочитаю использовать стандартный модуль json
, но я ничего не имею против использования другой библиотеки с открытым исходным кодом (например, jsonpickle
может решить мою проблему?).
>>> class HardwareProfile:
... def __init__(self, vm_size):
... self.vm_size = vm_size
>>> hp = HardwareProfile('Large')
>>> hp.vm_size
'Large'
### ### What I want ### ###
>>> magicjson.dumps(hp)
'{"vmSize": "Large"}'
### ### What I have so far... ### ###
>>> json.dumps(hp, default=lambda o: o.__dict__)
'{"vm_size": "Large"}'