我試圖解析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
檢查輸出?並確保它有適當的響應。 –