如何在Python3中从资源_流加载json

如何在Python3中从资源_流加载json,python,json,python-3.x,pkg-resources,Python,Json,Python 3.x,Pkg Resources,我正试图使用pkg\u资源中的resource\u stream与json.load结合使用,我在Python3中遇到了Python2中没有的问题 当我尝试运行以下命令时,出现错误: loaded_json = json.load(resource_stream(__name__, 'path/to/foo.json')) >> TypeError: the JSON object must be str, not 'bytes' 在Python3中,json.load不再支持读

我正试图使用
pkg\u资源中的
resource\u stream
json.load
结合使用,我在Python3中遇到了Python2中没有的问题

当我尝试运行以下命令时,出现错误:

loaded_json = json.load(resource_stream(__name__, 'path/to/foo.json'))

>> TypeError: the JSON object must be str, not 'bytes'

在Python3中,
json.load
不再支持读取ByTestStream,您必须在解析它之前对其进行解码:

json_string = resource_stream(__name__, 'path/to/foo.json').read().decode()
loaded_json = json.loads(json_string)

该行为存在于3.5.2中,但不存在于3.6.7中。不确定确切的点版本是什么,但在3.6.7中,您可以使用
json.load(resource\u stream(…)
,而无需读取和解码。