我试图解析json的一些字段,这是命令行的输出。但我不能进入任何领域,我总是这个错误:在解析json输出时输入错误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 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
检查输出?并确保它有适当的响应。 –