Ich versuche, einige Felder eines JSON zu analysieren, das ist eine Ausgabe für eine Befehlszeile. aber ich kann nicht auf ein Feld zugreifen, habe ich immer diese Fehlermeldung:Typ Fehler beim Analysieren von JSON-Ausgabe Python
TypeError: 'int' object has no attribute '__getitem__'
mein json Ausgang ist wie folgt:
{"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":""
}
]
}
}
und mein Code ist dies:
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'])
Warum kann ich auf keine Felder zugreifen? Vielleicht kann ich diese Art von Subprozess-Ausgabe nicht analysieren?
Danke Jungs
Haben Sie nicht, dass 'print (Werte [ 'Ergebnis'])'? Und subprocess.call gibt ein int zurück, das ist nicht der Weg, um Ihre JSON-Zeichenfolge zu erhalten. – polku
ops Entschuldigung, du hast Recht, aber ich habe denselben Fehler. Nun, ich versuche auch os.system aber gleichen Fehler ... Ich versuche, auf String – tafazzi87
zu werfen. Überprüfen Sie die Ausgabe? Und stellen Sie sicher, dass es richtig reagiert. –