Я пытаюсь разобрать некоторые поля json, то есть вывод для командной строки. но я не могу получить доступ к любому полю, я всегда эту ошибку:ошибка типа при разборе json output python
TypeError: 'int' object has no attribute '__getitem__'
мой выход JSON как это:
{"result":"success","totalresults":"1","startnumber":0,"numreturned":1,"tickets":{
"ticket":[
{
"id":"2440",
"tid":"473970",
"deptid":"1",
"userid":"0",
"name":"John",
"email":"email[email protected]",
"cc":"","c":"P1gqiLym",
"date":"2016-07-01 13:00:02",
"subject":"test",
"status":"stato",
"priority":"Medium",
"admin":"",
"attachment":"image001.jpg",
"lastreply":"",
"flag":"0",
"service":""
}
]
}
}
и мой код это:
import json
import sys
import subprocess
output=subprocess.call('pywhmcs --url http://whmcs.test.it --username myuser --password mypass --action gettickets --params status="tickets" email="[email protected]"',shell=True)
values = json.loads(str(output))
print (values['result'])
Почему я не могу получить доступ к любым полям? возможно, я не могу разобрать этот тип вывода подпроцесса?
благодарит ребят
Не значит 'печати (значения [ 'результат'])'? И subprocess.call возвращает int, это не способ получить вашу строку json. – polku
ops жаль, что вы правы, но у меня такая же ошибка. ну, я тоже попробую os.system, но ту же ошибку ... я пытаюсь привести в строку – tafazzi87
Проверьте вывод? И убедитесь, что он имеет надлежащий ответ. –