我正在尝试使用json库从python脚本中读取json文件。经过一些谷歌搜索后,我发现了以下代码:
with open(json_folder+json) as json_file:
json_data = json.loads(json_file)
print(json_data)
其中json_folder + json是json文件的路径和名称。我收到以下错误str对象没有属性加载。
答案 0 :(得分:8)
代码使用json
作为变量名。它将隐藏您导入的模块引用。为变量使用不同的名称。
除此之外,代码传递文件对象,而json.loads
接受字符串。
传递文件内容:
json_data = json.loads(json_file.read())
或使用接受类文件对象的json.load
。
json_data = json.load(json_file)
答案 1 :(得分:2)
import json
f = open( "fileToOpen.json" , "rb" )
jsonObject = json.load(f)
f.close()
看起来你应该以相当复杂的方式做。
答案 2 :(得分:1)
试试这样: -
json_data=open(json_file)
data = json.load(json_data)
json_data.close()
答案 3 :(得分:0)
考虑到json文件的路径设置为变量json_file
:
import json
with open(json_file, "rb") as f:
json_data = json.load(f)
print json_data
答案 4 :(得分:-1)
我做到了....
import urllib2
link_json = "\\link-were\\"
link_open = urllib2.urlopen(link_json) ## Open and Return page.
link_read = link_open.read() ## Read contains of page.
json = eval(link_read)[0] ## Transform the string of read in link_read and return the primary dictionary ex: [{dict} <- return this] <- remove this
print(json['helloKey'])
Hello World