2017-05-08 251 views
0

我正在寻找解析网页上请求的一些数据。Python解析json关键字

到目前为止,我已经能够配置以下。

import urllib.request,json 

with urllib.request.urlopen("JSONURL") as url: 
    data = json.loads(url.read().decode()) 
    print(data["live-status-local"]) 

这将返回以下信息

{ '状态': '错误', '状态-描述':“摄取选项:{源名= A,ratelimit = 3250000};后端:(null); Src:文件IO错误;推送:由于最近的源信号问题,不会尝试推送; ','status-description-debug':'','user-message':'源信号问题','status-map':{'Ingest options':{'text':'{srcname = a, ratelimit = 3250000}','level':'unknown'},'Backend':{'level':'ok'},'Src':{'text':'File IO error','level':'error '','Push':{'text':'不会因最近的源信号问题而试图推送','level':'error'},'BCC Setup':{'level':'ok','调试':'会话s3打开。 ''}},'status-data':{'session-id':'s3','input.bitrate':'149'}}

我想打印/ :“错误”

如果是这样的话,我希望系统返回指出存在错误。

有人能帮助我指出了正确的方向?

+0

你已经反序列化JSON的,你用Python对象的工作。你问如何使用'dict'? –

+0

'如果数据[“活状态 - 本地”] [“状态”] ==“错误”:' – Barmar

+0

是的,我想特别检查该字典项。我对Python很陌生,所以这里的任何指针都会有所帮助。 – yarrsmash

回答

0

我一直在使用以.json()取得了成功。随着请求进口的,请尝试以下操作:

urlResults = requests.get("http://example.com/file.json") 
data = urlResults.json() 

if data["live-status-local"]["status"] == "error": 
    #handle error