3 回答

TA貢獻1790條經驗 獲得超9個贊
以下
data = [{
"took" : 1023,
"timed_out" : 'false',
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 114.88808,
"hits" : [
{
"_index" : 1,
"_type" : "doc",
"_id" : 1,
"_score" : 114.88808,
"_source" : {
"message" : "Error something happened"
}
}
]
}
},
{
"took" : 1023,
"timed_out" : 'false',
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 114.88808,
"hits" : [
{
"_index" : 2,
"_type" : "doc",
"_id" : 2,
"_score" : 114.88808,
"_source" : {
"message" : "Something else"
}
}
]
}
}
]
messages = [x['hits']['hits'][0]['_source']['message'] for x in data]
print(messages)
輸出
['Error something happened', 'Something else']

TA貢獻1797條經驗 獲得超4個贊
嘗試這個
res = [y['_source']['message'] for x in data for y in x['hits']['hits']]
print(res)
輸出:
['Error something happened', 'Something else']

TA貢獻1802條經驗 獲得超6個贊
一個簡單的 for 循環就可以解決問題:
for d in data :
extracted_data.append(d['hits']['hits'][0]['_source']['message'])
添加回答
舉報