Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 将有效的json转换为无效的json_Django_Django Rest Framework - Fatal编程技术网

Django 将有效的json转换为无效的json

Django 将有效的json转换为无效的json,django,django-rest-framework,Django,Django Rest Framework,我使用django rest框架验证webhook中接收到的一些JSON,然后将一些字段保存到数据库中。现在基本上可以了 JSON来自第三方,格式各异,没有很好的文档记录。因此,我的视图使用JSON.loads获取完整的JSON,并将其保存在一个单独的表中,以便帮助我解决验证失败的任何请求 然而,我发现JSON.loads返回的JSON与第三方声称要发送的JSON略有不同。第三方以双引号发送字符串和值,但json.loads以单引号返回相同的字符串和值。第三方以小写形式发送false和true值

我使用django rest框架验证webhook中接收到的一些JSON,然后将一些字段保存到数据库中。现在基本上可以了

JSON来自第三方,格式各异,没有很好的文档记录。因此,我的视图使用JSON.loads获取完整的JSON,并将其保存在一个单独的表中,以便帮助我解决验证失败的任何请求

然而,我发现JSON.loads返回的JSON与第三方声称要发送的JSON略有不同。第三方以双引号发送字符串和值,但json.loads以单引号返回相同的字符串和值。第三方以小写形式发送false和true值,但json.loads返回大写值,即true和false。从而使JSON无效

Serialiser正在验证webhook中接收的JSON是否有效。但是如果我使用JSON.loads返回的相同JSON post,并使用Postman再次发布它,那么序列化程序会将其视为无效而拒绝

json.loads以这种方式返回json格式,并带有无效的单引号和大写的真/假值,这正常吗

transaction_json_data = json.loads(request.body)

python中的JSON库将JSON字符串转换为python可理解的列表和字典。这就是将“true”和“false”字符串转换为python布尔值true和false的原因。通常,在NoSQL数据库中不存储JSON对象,而是存储JSON字符串。 这是官方文件,以获取更多信息

python中的JSON库将JSON字符串转换为python可理解的列表和字典。这就是将“true”和“false”字符串转换为python布尔值true和false的原因。通常,在NoSQL数据库中不存储JSON对象,而是存储JSON字符串。 这是官方文件,以获取更多信息