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