TypeError: Object of type Span is not JSON serializable

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

在这里插入图片描述
解决思路

  1. class DictEncoder(json.JSONEncoder):
  2. def default(self, obj):
  3. return obj.__dict__
  4. # 获取json序列化相应对象
  5. json.dumps(data_list, cls=DictEncoder)

在这里插入图片描述

  1. # 将异常对象进行相应格式转化强转
  2. from spacy.tokens.span import Span
  3. class DictEncoder(json.JSONEncoder):
  4. def default(self, obj):
  5. if isinstance(obj, Span):
  6. return str(obj)
  7. return obj.__dict__
  8. json.dumps(data_list, cls=DictEncoder)

How to make a class JSON serializable

发表评论

表情:
评论列表 (有 0 条评论,262人围观)

还没有评论,来说两句吧...

相关阅读