получение ключа из json объекта
У меня есть форма из которой я с помощью ajax получаю json объект вида:
{'selectedItems': ["('Firstname', 'Lastname', '[email protected]')"]}
Такой вопрос: Как отсюда получать только email как строку? Я пытался ковертировать в список потом в строку, но ошибку дает при отправлении None type object. Помогите решить.
data = request.json
data_list = list(data.values())
data_list = str(data_list)
doc_data = data_list.split()
html:
<script type="text/javascript">
function process(selectedItem) {
$.ajax({
url: "/profile",
type: "POST",
contentType: "application/json",
data: data,
success: function (data) {
console.log(data);
},
});
}
<script>
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
Если речь идет о реализации на Python, то как-то вот так
import re
def str_value_to_list(text: str):
*_, email = re.findall(r'[^ \',()]+', text)
return email
item = {'selectedItems': ["('Firstname', 'Lastname', '[email protected]')"]}
print(str_value_to_list(item['selectedItems'][0]))
# [email protected]
К примеру для вывода всех email в одном selectedItems в виде списка можно использовать такой код:
import re
def str_value_to_list(items: list):
result = [email for *_, email in [re.findall(r'[^ \',()]+', text) for text in items]]
return result
item = {'selectedItems': ["('Firstname', 'Lastname', '[email protected]')"]}
print(str_value_to_list(item['selectedItems']))
# ['[email protected]']