2017-02-19 56 views
-2

正在使用下面的代码解析来自url的json。但我收到此错误:解析Python中的json时的错误消息

ex= data['e'] 
TypeError: list indices must be integers or slices, not str 

这里是我的代码:

html = urlopen("http://localhost:8080/messenger/webapi/myresource") 
content = html.read() 
data = json.loads(content.decode("utf8")) 
ex = data['e'] 
print(ex) 

这里是JSON:

[ 
    { 
    "c":"-1.00", 
    "c_fix":"-1.00", 
    "ccol":"chr", 
    "cp":"-0.37", 
    "cp_fix":"-0.37", 
    "e":"NSE", 
    "id":"13564339", 
    "l":"269.50", 
    "l_cur":"₹269.50", 
    "l_fix":"269.50", 
    "lt":"Feb 17, 3:56PM GMT+5:30", 
    "lt_dts":"2017-02-17T15:56:16Z", 
    "ltt":"3:56PM GMT+5:30", 
    "pcls_fix":"270.5", 
    "s":"0", 
    "t":"SBIN" 
    } 
] 
+2

解析的结果是一个列表,然后您使用'data ['e']'来访问它,因此错误,尝试'data [0] ['e']' – ewcz

+2

'data [0] [ 'E']';或者在数据中使用'for item:item ['e']' –

回答

1

尝试data[0]['e']因为原来的JSON的顶层是一个名单。