'JSONDecodeError: Extra data: Python

I am loading json from files using the code:

file = 'file_name'
obj_list = []
with open(file) as f:
    for json_obj in f:
        obj_list.append(loads(json_obj))

I get error:

JSONDecodeError: Extra data: line 1 column 21 (char 20)

All my files look like this but much larger.

{"some":"property2"}{"some":"property"}{"some":"property3"}

Is there a way to parse this in python for a large number of files?



Solution 1:[1]

Your json is not valid . It should be something like this

[{'some': 'property2'}, {'some': 'property'}, {'some': 'property3'}]

Solution 2:[2]

import json
with open(file, 'r') as f:
    json_str = f'[{f.read()}]'
    obj_list = json.loads(json_str)

Reading the content, adding [] to make it valid json, and then loading it with the json package.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Nabil
Solution 2 elgehelge