class SearchSuggest(View):
def get(self, request):
key_words = request.GET.get('s','')
re_datas = []
if key_words:
s = JobType.search()
s = s.suggest('my_suggest', key_words, completion={
"field":"suggest", "fuzzy":{
"fuzziness":2
},
"size": 10
})
suggestions = s.execute_suggest()
for match in suggestions.my_suggest[0].options:
source = match._source
re_datas.append(str(source["job_name"]))
# return HttpResponse(json.dumps(re_datas), content_type="application/json")
return HttpResponse(json.dumps(re_datas), content_type="application/json")
# re_datas=list(re_datas)
但结果:对象不是JSON序列化
那么如何才能解决这个问题?谢谢!我希望不是列表类型! 我希望浏览器中的视图是str而不是list.I'm试图解决它。
这里的信息不够充分。什么是AttrList?它从何而来?什么是返回这些建议?你真的想要什么输出? –
问问自己:[json](https://docs.python.org/3/library/json.html#json.JSONEncoder)应该如何序列化一个对象? – Melvyn
你总是想要第一个数组项吗? 如果是这样 - 你可以使用:re_datas.append(str(source [“job_name”] [0])) – perry