python - 如何使用 json.dumps 将包含内存模型实例的字典转换为字符串
问题描述
import json
dict = {'username': u'Toto', 'staffTitle': u'Mr', 'staffName': u'Toto', 'company': <Company: Test1>, 'qualifications': [{u'dateObtained': u'2017-11-22', u'qualificationId': 1048,}
convert_to_string = json.dumps (dict)
sa_ = sanitize_data(conver_to_string)
back_to_dict = json.loads(sa_)
def sanitize_data(dirty_data):
clean_data = re.sub('(<0x\w*>)|\s',"", dirty_data)
return clean_data
所以我想要实现什么。要使用 json.dumps 将 dict 转换为字符串,然后使用我制作的函数来清理和删除 non_ascii 字符并将其转换回 dict 并保存。因为,字典中有一个内存实例('company': )部分。我有一个错误,转储不起作用。我怎样才能解决这个问题并能够将此字典转换为字符串并处理数据?有任何想法吗?
解决方案
正如其他人在评论中已经提到的那样,json.dumps()
不会在 python 类或 Django 模型实例上开箱即用。如果您想将数据公开给 REST API,Django REST 框架非常好,它可以让您以可维护的方式只公开您想要的字段。
如果这是为了内部使用,Django 有一个内置的序列化框架:
from django.core import serializers
data = serializers.serialize("json", Company.objects.get(name="test"))
这对于快速序列化来说很简单,但可能不适合通过 REST API 将模型暴露给外部世界,在这种情况下,DRF 是一个更好的选择。
推荐阅读
- c++ - OpenCV C++ 3 Dimensional Mat 数据访问错误值
- reactjs - useEffect 导致无限循环
- java - 如何按名称过滤Java中的多个文件?
- javascript - react如何在useCallback中保持变量值?
- javascript - 如果连续单击两个相同的名称,如何使每两个相同的名称保持红色?
- python - 绘制排序数据
- javascript - Javascript对象保留“旧”属性,不能覆盖?
- swift - 如何更改 SpriteKit 中精灵的触摸偏移量?
- python - 在 pytorch 中使用量化模型没有性能提升
- azure - Azure 的 myapps 门户中面向 B2B 用户的聊天机器人