Encipher
Encipher

Reputation: 2946

Parsing a json file in python create difficulties

I want to parse a json file in python. I don't know the content of the file. I downloaded this file from a website in json format.

As per my knowledge to parse a json file we need this code

import json

sourcefile=open("News_Category_Dataset_v2.json","r")
json_data=json.load(sourcefile)

print (json_data)

But I got this error as describe below. jsonparse.py is my file name which is save in my computer d:/algorithm

D:\python\envs\algorithms\python.exe D:/algorithms/jsonparse.py Traceback (most recent call last):

File "D:/algorithms/jsonparse.py", line 4, in <module>
json_data=json.load(sourcefile)

File "D:\python\envs\algorithms\lib\json\__init__.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)

File "D:\python\envs\algorithms\lib\json\__init__.py", line 354, in loads
return _default_decoder.decode(s)

File "D:\python\envs\algorithms\lib\json\decoder.py", line 342, in decode
raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 366)

Process finished with exit code 1

How could I fix the problem?

Upvotes: 1

Views: 125

Answers (1)

Nithin
Nithin

Reputation: 1105

Your file is not json. but it has lines where each one of them is json.

This snippet should help you

import json

json_list = []
for i in open('test.json'):
    json_line = json.loads(i)
    json_list.append(json_line)
print(json_list)

Upvotes: 4

Related Questions