У меня есть объект данных, который был создан путем создания того, что я предполагаю, является объектом json -
jsonobj = {}
jsonobj["recordnum"] = callpri
и затем помещаю его в список, так как существует более одного из них -
myList = []
myList.append(jsonobj)
Затем это передается взад и вперед между подпрограммами фляги и шаблонами Jinja2, пока не закончится несколькими шагами позже, не перейдя к функции, где мне нужно получить доступ к этим данным, и это будет выглядеть примерно так-
techlist: [{'recordnum': '1', 'name': 'Person 1', 'phonenumber': '123-456-7890', 'email': 'person1@company.tld', 'maxnumtechs': 'ALL'}, {'recordnum': '2', 'name': 'Person 2', 'phonenumber': '098-765-4321', 'email': 'person2@company.tld', 'maxnumtechs': 'ALL'}, {'recordnum': '3', 'name': 'Person 3', 'phonenumber': '567-890-1234', 'email': 'person3@company.tld', 'maxnumtechs': 'ALL'}]
Я попытался заключить сделку с типом for tech in techlist: print(tech['recordnum'])
и получил ошибку, поэтому я начал печатать типы для всего, и это все строки. for tech in techlist
я думаю, просто разделив все это на слова, что, очевидно, совсем не то, что я хочу.
Я пытался возиться с json.loads в техническом списке, но он жаловался на ожидание записи вдвойные кавычки или что-то в этом роде. Я полностью озадачен, и был бы очень признателен, если бы кто-нибудь мог подсказать мне, как превратить эту строку обратно в список dicts или в список объектов json, или во что бы то ни стало, чтобы я мог перебирать элементы и получать доступконкретные поля.
Ответ на комментарии о том, как он работает правильно:
Для меня это выглядит как строка, и я думаю, что для вас двоих это работает, вы создаете его как список, так что он будет работать правильно ... к сожалению, это моя проблема, это строка, а не список, поэтому он делает это -
(env) [me@box directory]$ cat test.py
techlist = "[{'recordnum': '1', 'name': 'Person 1', 'phonenumber': '123-456-7890', 'email': 'person1@company.tld', 'maxnumtechs': 'ALL'}, {'recordnum': '2', 'name': 'Person 2', 'phonenumber': '098-765-4321', 'email': 'person2@company.tld', 'maxnumtechs': 'ALL'}, {'recordnum': '3', 'name': 'Person 3', 'phonenumber': '567-890-1234', 'email': 'person3@company.tld', 'maxnumtechs': 'ALL'}]"
print(type(techlist))
for tech in techlist:
print(type(tech))
print(str(tech))
(env) [me@box directory]$
(env) [me@box directory]$
(env) [me@box directory]$ python test.py
<class 'str'>
<class 'str'>
[
<class 'str'>
{
<class 'str'>
'
<class 'str'>
r
<class 'str'>
e
<snip>
Обновление:
Комментарий Трентона МакКинни сработал ОТЛИЧНО, СПАСИБО! Если вы так склонны, чтобы опубликовать его в качестве ответа, я приму это в качестве решения. Спасибо, спасибо, спасибо !!