我试图从返回的值中获取一个键,但是当我使用简单的方法只获取特定键的值时,我得到了一个错误:TypeError:string索引必须是整数,而不是str
我也尝试了.get()方法,但也没用。有人能告诉我我做错了什么吗?在
>>> import urllib2
>>> url = 'http://192.168.250.1/ajax.app?SessionId=8ef05397-ef00-451a-bc1c-c0d61
5a4811d&service=getDp&plantItemId=1413'
>>> response = urllib2.urlopen(url)
>>> dict = response.read()
>>> dict
'{"service":"getDp","plantItemId":"1413","value":" 21.4","unit":"\xc2\xb0C"}'
>>> dict['value']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string indices must be integers, not str
response.read()
返回的是string
类型的对象,而不是字典,您可以仅使用整数索引为字符串编制索引,因此您会得到错误。在您需要解析这个字符串并将其转换为字典。要将字典字符串转换回字典,可以执行以下操作:
用Python2.7在我的机器上试过了,效果很好。在
“dict”似乎是字符串类型的变量,而不是字典。您应该将字符串解析为合适的字典格式(如JSON)。以下代码将解决该问题:
现在,对于
dict['value']
你将得到你所需要的。在相关问题 更多 >
编程相关推荐