python中的JSON解析出现错误

python中的JSON解析出现错误,python,json,Python,Json,我正在尝试解析一个json文件,该文件如下所示: { "results": [ { "ID": "63768E9B-1D66-486A-BCDD-D3991EAFBE94", "Dt": "2013-08-03T13:01:26.901Z", "Dt_u": "2013-08-03T13:01:26.901Z", "obj": "enppXhI7TS" }, { "ID": "63768E9B-1D66-486A-BCDD-D3991EAFBE94", "Dt": "2013-0

我正在尝试解析一个json文件,该文件如下所示:

{ "results": [ 
{ "ID": "63768E9B-1D66-486A-BCDD-D3991EAFBE94", 
"Dt": "2013-08-03T13:01:26.901Z", 
"Dt_u": "2013-08-03T13:01:26.901Z", 
"obj": "enppXhI7TS" 
}, 
{ 
"ID": "63768E9B-1D66-486A-BCDD-D3991EAFBE94", 
"Dt": "2013-08-03T16:17:33.280Z",
"Dt_u": "2013-08-03T16:17:33.280Z",
"obj": "79J5z6y2UR" 
}, 
{ 
"ID": "F8B1B9FB-7BCD-47DF-89BD-241440BB6270",
"Dt": "2013-08-06T00:23:43.562Z", 
"obj": "Xf75BFtx4O",
"gender": 2,
"language": "en"
}]}
文件中还有很多条目

现在,当我尝试在python中使用JSON解析器加载此文件时,它会

Traceback (most recent call last):
  File "E:\test.py", line 8, in <module>
    data = json.dumps(json_data)
  File "C:\python27\lib\json\__init__.py", line 243, in dumps
    return _default_encoder.encode(obj)
File "C:\python27\lib\json\encoder.py", line 207, in encode
    chunks = self.iterencode(o, _one_shot=True)
File "C:\python27\lib\json\encoder.py", line 270, in iterencode
    return _iterencode(o, 0)
File "C:\python27\lib\json\encoder.py", line 184, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <open file 'data.json', mode 'r' at 0x00000000022E6540> is not JSON  
serializable
>>>>

它现在给出的错误-->

回溯(最近一次呼叫最后一次):
文件“E:\test.py”,第7行,在
data=json.load(json_数据)
文件“C:\python27\lib\json\\ uuuuu init\uuuuuu.py”,第290行,正在加载中
**千瓦)
文件“C:\python27\lib\json\\ uuuuu init\uuuuuu.py”,第338行,加载
返回\u默认\u解码器。解码
文件“C:\python27\lib\json\decoder.py”,第365行,解码
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“C:\python27\lib\json\decoder.py”,第381行,原始解码
obj,end=self.scan_一次(s,idx)
UnicodeDecodeError:“utf8”编解码器无法解码位置2中的字节0xc2:无效的继续字节
[在0.2秒内完成,退出代码为1]

我知道它与一些Unicode数据有关。但是如何识别和解析它呢?

您正在尝试转储一个字符串,该字符串是您正在读取的文件。如果那句话对你来说没有意义,那是因为潜在的操作是荒谬的。请尝试
json.load()

首先,粘贴的数据中存在语法错误。第17行末尾缺少一个逗号


其次,您需要调用json.load(json_数据)以便从文件中加载json。

首先,没有名为seniorID的键,其次您需要使用
json.load(json_数据)

您在谈论什么json解析器?您在“obj”之后漏掉了逗号:“Xf75BFtx4O”,这是复制粘贴错误吗?@msvalkon-用代码更新。@user3-是。我试过了。但现在它给了我一个错误。问题中更新的详细信息如果您有新问题,请打开新问题。发布新问题更新密钥和json.load
import json
from pprint import pprint


json_data=open('data.json','r')

data = json.dumps(json_data)
jsondata = data["results"]

for item in jsondata:
name = item.get("ID")
json_data.close()
import json
from pprint import pprint


json_data=open('data.json','r')

data = json.load(json_data)
jsondata = data["results"]

for item in jsondata:
name = item.get("ID")
json_data.close()
Traceback (most recent call last):
  File "E:\test.py", line 7, in <module>
    data = json.load(json_data)
  File "C:\python27\lib\json\__init__.py", line 290, in load
    **kw)
  File "C:\python27\lib\json\__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "C:\python27\lib\json\decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\python27\lib\json\decoder.py", line 381, in raw_decode
   obj, end = self.scan_once(s, idx)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc2 in position 2: invalid    continuation byte
[Finished in 0.2s with exit code 1]