我正在研究一个简单的python脚本。它使用urllib从网页读取并将其转换为字典。 Web服务器输出的方式是字典,因为它使用JSON。这是我有的:
import urllib2
d = 'http://www.somewebserver.com/tools/dictionary.php?string=hello'
r = urllib2.urlopen(d)
data = r.read()
r.close()
dictionary = dict(data)
print dictionary
唯一的问题是当我运行它时我得到这个错误:
Traceback (most recent call last):
File "get.py", line 6, in getstring()
dictionary = dict(data)
ValueError: dictionary update sequence element #0 has length 20; 2 is required
我如何成功地将其变成字典?
答案 0 :(得分:6)
import json
dictionary = json.loads(data)
或者为了保存一些步骤,您可以将文件对象r
传递给json.load
:
dictionary = json.load(r)
答案 1 :(得分:1)
使用json
模块中的JSON例程将其转换为Python对象。
答案 2 :(得分:1)
首先需要将{json数据de-marshall放入字典中。
import json
dictionary = json.loads(data)
答案 3 :(得分:1)
http://docs.python.org/library/json.html
import json
json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]