我正在尝试从文件中读取Json,而不是转换为list.But我在代码的开头,Json.load()收到错误。我弄清楚了。 感谢。
import json
with open("1.txt") as contactFile:
data=json.load(contactFile.read())
的1.txt:
[{"no":"0500000","name":"iyte"},{"no":"06000000","name":"iyte2"}]
错误:
File "/usr/lib/python2.7/json/__init__.py", line 286, in load
return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
答案 0 :(得分:5)
json.load()
适用于文件对象,而不是字符串。使用
with open("1.txt") as contactFile:
data = json.load(contactFile)
如果确实需要解析JSON 字符串,请使用json.loads()
。所以以下内容也可以起作用(但在这种情况下当然不是正确的方法):
with open("1.txt") as contactFile:
data = json.loads(contactFile.read())
答案 1 :(得分:4)
json.load
接受像object这样的文件作为第一个参数。所以,应该是
data = json.load(contactFile)
# [{u'name':u'iyte', u'no': u'0500000'}, {u'name': u'iyte2', u'no': u'06000000'}]