Я использую django -rest-framework для проверки некоторых JSON, полученных в моем webhook, а затем я сохраняю некоторые поля в моей базе данных. Это в основном работает сейчас.
JSON от стороннего производителя, различается по формату и плохо документирован. Поэтому я собираю полные JSON, используя json .loads, и сохраняю их в отдельной таблице, чтобы иметь возможность помочь мне устранить любые запросы, не прошедшие проверку.
Однако я обнаружил, что JSON, возвращаемый json .loads, немного отличается от JSON, который, как утверждает третья сторона, отправляет. Третья сторона отправляет строки и значения в двойных кавычках, но json .loads возвращает то же самое в одинарных кавычках. Третья сторона отправляет значения false и true в нижнем регистре, но json .loads возвращает их с заглавной буквы, ie True и False. Таким образом, JSON становится недействительным.
Сериализаторы проверяют правильность JSON, полученного в webhook. Но если я возьму тот же пост JSON, возвращенный json .loads, и отправлю его снова, используя Postman, то сериализаторы отклонят его как недействительный.
Это нормально для json .loads, чтобы вернуть JSON отформатированы таким образом с недопустимыми одинарными кавычками и заглавными значениями True / False?
transaction_json_data = json.loads(request.body)