TypeError: Object of type Span is not JSON serializable

# 使用pytextrank生成提取相应的关键词数据,通过json序列化返回数据给调用方时抛出了"TypeError: Object of type Span is not JSON serializable"异常
import json
json.dumps([{'p.rank': '0.2500', 'p.count': 1, 'p.text': 'hello word', 'p.chunks': [hello word]}])

TypeError: Object of type Span is not JSON serializable_第1张图片
解决思路

class DictEncoder(json.JSONEncoder):
    def default(self, obj):
        return obj.__dict__

# 获取json序列化相应对象
json.dumps(data_list, cls=DictEncoder)

TypeError: Object of type Span is not JSON serializable_第2张图片

# 将异常对象进行相应格式转化强转
from spacy.tokens.span import Span


class DictEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, Span):
            return str(obj)
        return obj.__dict__
json.dumps(data_list, cls=DictEncoder)

How to make a class JSON serializable

你可能感兴趣的:(个人学习记录,python)