0
출력을 JSON 형식의 명령으로 구문 분석하고 아래 오류로 실행하려고합니까? 명령 출력의 샘플도 제공했지만 해결 방법에 대한 지침이 있습니까?JSON 출력을 구문 분석하는 방법은 무엇입니까?
import subprocess,json
user = 'user1'
gerrit = '1234567'
branch_cmd = "ssh -l %s -p 29418 review-android.quicinc.com gerrit query %s --format=JSON"%(user,gerrit)
proc = subprocess.Popen(branch_cmd.split(' '), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(output, error) = proc.communicate()
print output["branch"]
출력 : -
{"project":"platform/system/technology","branch":"technology.lnx.2.1-dev","topic":"","id":"Id1ca6a5167c8e7269b154824e5a5dd2389a2d1cf","number":"1234567","subject":"Bluetooth:HOGP Write Scan Interval Window characteristic","owner":{"name":"Firstname Kumar name","email":"[email protected]","username":"sname"},"url":"https://review-android.company.com/1234567","createdOn":1471052441,"lastUpdated":1480706360,"sortKey":"004195870019d68b","open":false,"status":"ABANDONED"}
{"type":"stats","rowCount":1,"runTimeMilliseconds":1}
ERROR : - :
for line in output.split('\n'):
print json.loads(line)
처음에 액세스하려면 다음과 같이, JSON으로 문자열을 변환하는
File "strip_dev_rel.py", line 10, in <module>
print output["branch"]
TypeError: string indices must be integers, not str