Python中的JSON解析错误

Python中的JSON解析错误,python,json,python-2.7,Python,Json,Python 2.7,我正在使用Python2.7.6解析JSON文件,但是我遇到了一个错误,我不知道为什么。这是我第一次使用Python,所以这可能是一个非常基本的问题,但我已经研究了一些堆栈溢出,似乎无法找出问题所在 下面是我解析数据的python代码: import json from pprint import pprint with open ('test.json') as data_file: data = json.load(data_file); pprint(data) 这是我的

我正在使用Python2.7.6解析JSON文件,但是我遇到了一个错误,我不知道为什么。这是我第一次使用Python,所以这可能是一个非常基本的问题,但我已经研究了一些堆栈溢出,似乎无法找出问题所在

下面是我解析数据的python代码:

import json
from pprint import pprint 

with open ('test.json') as data_file:
    data = json.load(data_file);
pprint(data)  
这是我的JSON文件:

{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "hckr9Hf8BUHcXfOSDv9eJA", "review_id": "K6EEJo0I8AbwGWvwe5SJYQ", "stars": 5, "date": "2013-05-05", "text": "This place is fantastic. they have a restaurant inside the grocery store. very good food.", "type": "review", "business_id": "uPezkdNi_x_SwWlf_2rcMw"}
{"votes": {"funny": 0, "useful": 0, "cool": 1}, "user_id": "PK3TxomYLwZuOXonmYqjNw", "review_id": "5ivy-tczAQ4WYrmVF6YoKg", "stars": 5, "date": "2013-08-11", "text": "This is going to be a place we go back to many times!", "type": "review", "business_id": "UB2j_EV3CIM_E4LcpadKMQ"}
这是我解析JSON时遇到的错误:

File "./parse.py", line 6, in <module>
    data = json.load(data_file);
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 290, in load
    **kw)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 368, in decode
    raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 2 column 1 - line 3 column 1 (char 318 - 600)
文件“/parse.py”,第6行,在
data=json.load(数据文件);
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/_init__.py”,第290行,装入
**千瓦)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/_init__.py”,第338行,加载
返回\u默认\u解码器。解码
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第368行,在decode中
raise VALUERROR(errmsg(“额外数据”,s,end,len)))
ValueError:额外数据:第2行第1列-第3行第1列(字符318-600)

奇怪的是,如果我只有第一行JSON,我就可以成功解析数据。如果您能帮助理解错误并帮助我修复错误,我们将不胜感激。

这不是有效的json-您不能像那样将两个哈希值贴在一起。。。试试这样的。你会注意到我在它们之间加了一个逗号,并将整个哈希集放在一个数组中

[
   {
      "stars" : 5,
      "date" : "2013-05-05",
      "review_id" : "K6EEJo0I8AbwGWvwe5SJYQ",
      "text" : "This place is fantastic. they have a restaurant inside the grocery store. very good food.",
      "user_id" : "hckr9Hf8BUHcXfOSDv9eJA",
      "type" : "review",
      "votes" : {
         "funny" : 0,
         "cool" : 0,
         "useful" : 0
      },
      "business_id" : "uPezkdNi_x_SwWlf_2rcMw"
   },
   {
      "stars" : 5,
      "date" : "2013-08-11",
      "review_id" : "5ivy-tczAQ4WYrmVF6YoKg",
      "text" : "This is going to be a place we go back to many times!",
      "user_id" : "PK3TxomYLwZuOXonmYqjNw",
      "type" : "review",
      "votes" : {
         "funny" : 0,
         "cool" : 1,
         "useful" : 0
      },
      "business_id" : "UB2j_EV3CIM_E4LcpadKMQ"
   }
]

您希望数据文件中的行使用
,或者在行尾使用括号
[]
和逗号。在顶层,有效的JSON文件必须是单个对象
{…}
或单个数组
[…]
;不能有两个对象背靠背。很有趣,因为我是从Yelp数据集中得到的。所以他们给我的是无效的JSON?这两个JSON散列是独立有效的,所以也许你只是用他们意想不到的方式将它们连接在一起?或者它们应该是独立有效的,而不是一起有效。如果您愿意,您可以一次解析一个(按照@g.d.d.c的建议逐行解析)!