Скрытый json в файлы схемы с оболочкой camel

#python-3.x #flask #marshmallow #camelcasing #snakecasing

#python-3.x #flask #marshmallow #camelcasing #snakecasing

Вопрос:

У меня есть json:

 [{
"myKey": "key"
}]
  

Моя схема:

 
_snake_case = re.compile(r"(?<=w)_(w)")
_to_camel_case = partial(_snake_case.sub, lambda m: m[1].upper())

class CamelCasedSchema(Schema):
    """Gives fields a camelCased data key"""
    def on_bind_field(self, field_name, field_obj, _cc=_to_camel_case):
        field_obj.data_key = _cc(field_name.lower())

class KeySchema(CamelCasedSchema):
    my_key = fields.String(required=True, data_key="myKey")

  

Я загружаю его как:

 KeySchema(many=True).load(json)
  

Я хочу, чтобы json [{ «MyKey»: «key» }] преобразовывался в схему, и я мог получить my_key в качестве ключа.

Прямо сейчас я получаю:

 Original Error {0: {'my_key': ['Missing data for required field.']}}
  

Чего мне здесь не хватает?

версия marshmallow — 3.0.0rc1

Комментарии:

1. Вы хотите, чтобы ваш ключ JSON был my_key?

2. да, я хочу, чтобы при загрузке json в схему я получал [{ «my-key»: «key» }] @KrkRamaKrishna

3. Приведенный выше код работает для меня как есть (после добавления недостающего импорта).