В вашем коде d
должно быть строкой JSON.Если бы это было так, вам не пришлось бы сбрасывать его перед загрузкой.
Когда я удаляю строковые кавычки, это означает, что вызов json.dumps
работает над dict, а не строкой, все, кажется, выходитштраф:
import json
d = {
"reference": "123432",
"business_date": "2019-06-18",
"final_price": 40,
"products": [
{
"quantity": 4,
"original_price": 10,
"final_price": 40,
}
]
}
j = json.loads(json.dumps(d))
print(type(j))
распечатывает
<class 'dict'>
Обратите внимание, однако, что попытка применить json.loads
к существующей строке приведет к ошибке, потому что JSON менее простителен, чем Python, ине допускает висячих запятых в конце списков и диктов (см. определение элемента "final_price"
).