Я хочу использовать Python для преобразования данных JSON в объект Python.
Я получаю объекты данных JSON из API Facebook, которые я хочу сохранить в моя база данных.
Мое текущее представление в Django (Python) ( request.POST
содержит JSON):
response = request.POST
user = FbApiUser(user_id = response['id'])
user.name = response['name']
user.username = response['username']
user.save()
Это работает нормально, но как мне обрабатывать сложные объекты данных JSON?
Не мог бы Не было бы лучше, если бы я мог каким-то образом преобразовать этот объект JSON в объект Python для удобства использования?
При использовании Python 3.6 или более новые Вы могли бы взглянуть на squema - легкий модуль для структур данных со статическим контролем типов. Это делает Ваш код легким читать, одновременно обеспечивая простое подтверждение правильности данных, преобразование и сериализацию без дополнительной работы. Можно думать о нем как о более сложной и самоуверенной альтернативе namedtuples и dataclasses. Вот то, как Вы могли использовать его:
from uuid import UUID
from squema import Squema
class FbApiUser(Squema):
id: UUID
age: int
name: str
def save(self):
pass
user = FbApiUser(**json.loads(response))
user.save()