Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用json.load会导致错误_Python_Json - Fatal编程技术网

Python 使用json.load会导致错误

Python 使用json.load会导致错误,python,json,Python,Json,当我运行以下代码时: filename = 'my_data.json' import json with open(filename, 'r') as f: data = json.load(f) 我不断得到以下错误: JSONDecodeError Traceback (most recent call last) <ipython-input-4-e76b2fcd5204> in <modul

当我运行以下代码时:

filename = 'my_data.json'

import json
with open(filename, 'r') as f:
    data = json.load(f)
我不断得到以下错误:

    JSONDecodeError                           Traceback (most recent call last)
    <ipython-input-4-e76b2fcd5204> in <module>
          2 import json
          3 with open(filename, 'r') as f:
    ----> 4     data = json.load(f)
 
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/json/__init__.py in load(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)

        294         cls=cls, object_hook=object_hook,
        295         parse_float=parse_float, parse_int=parse_int,
    --> 296         parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)

/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)

        346             parse_int is None and parse_float is None and
        347             parse_constant is None and object_pairs_hook is None and not kw):
    --> 348         return _default_decoder.decode(s)
        349     if cls is None:
        350         cls = JSONDecoder

/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/json/decoder.py in decode(self, s, _w)

        335 
        336         """
    --> 337         obj, end = self.raw_decode(s, idx=_w(s, 0).end())
        338         end = _w(s, end).end()
        339         if end != len(s):

/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/json/decoder.py in raw_decode(self, s, idx)
        353             obj, end = self.scan_once(s, idx)
        354         except StopIteration as err:
    --> 355             raise JSONDecodeError("Expecting value", s, err.value) from None
        356         return obj, end

    JSONDecodeError: Expecting value: line 1 column 1 (char 0)
JSONDecodeError回溯(最近一次调用)
在里面
2导入json
3打开(文件名为“r”)作为f:
---->4 data=json.load(f)
/加载中的Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/Python3.7/json/__init___;.py(fp、cls、object_hook、parse_float、parse_int、parse_constant、object_pairs_hook、**kw)
294 cls=cls,object\u hook=object\u hook,
295 parse_float=parse_float,parse_int=parse_int,
-->296 parse_常量=parse_常量,object_pairs_hook=object_pairs_hook,**千瓦)
/加载中的Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/Python3.7/json/__init___;.py(s、编码、cls、对象钩子、解析浮点数、解析整型、解析常数、对象对钩子、**kw)
346 parse_int为无,parse_float为无且
347 parse_常量为None且对象_pairs_hook为None且非kw):
-->348返回默认解码器。解码
349如果cls为无:
350 cls=JSONDecoder
/解码中的Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/Python3.7/json/decoder.py(self,s,_w)
335
336         """
-->337 obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
338 end=_w(s,end).end()
339如果结束!=长度:
/原始解码中的Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/Python3.7/json/decoder.py(self、s、idx)
353 obj,end=自扫描一次(s,idx)
354除了停止迭代作为错误:
-->355将JSONDecodeError(“预期值”,s,err.value)从None提升
356返回obj,结束
JSONDecodeError:应为值:第1行第1列(字符0)

有什么原因会出现这种情况吗?json.load(f)大约一个小时前,我的工作正常。感谢您的帮助和见解。

该文件不包含有效的JSON。对。您最好将该文件放到编辑器中,看看发生了什么。该文件的第一个字符出现错误。请检查该文件的第一行。我猜该文件是以UTF-8 w/BOM格式编写的。
json.load
不想看到它。使用带有open(filename,encoding='utf-8-sig')的
作为f:data=json.load(f)
。我通过命令行运行了该文件,并用readline测试了“my_data.json”文件,它看起来很好。我在一小时前也运行了相同的代码,它工作正常。我创建了一个用UTF-8 BOM编码的文件,但由于您的错误而失败。请使用十六进制编辑器检查您的文件。