Мне нужно проанализировать json с массивом верхнего уровня, но я получаю следующую ошибку. Я могу удалить верхний уровень [], но я думаю, что должен быть простой способ, который мне не хватает.

Содержимое файла:

[{"name": "Bob", "languages": ["English", "Fench"]}]

Ошибка:

AttributeError: 'list' object has no attribute 'json'

Код:

data = json.load(json_file)
links = data.json()
0
user3741611 30 Апр 2020 в 20:57
У вас не может быть списка в качестве верхнего уровня в json. инкапсулируйте его в другую фигурную скобку, а затем прочитайте это.
 – 
Pbd
30 Апр 2020 в 21:00
В чем именно заключается вопрос?
 – 
Kurohige
30 Апр 2020 в 21:18
Можете ли вы добавить, каков ваш ожидаемый результат
 – 
deadshot
30 Апр 2020 в 21:42
1
 – 
user3741611
1 Май 2020 в 16:28
1
 – 
user3741611
1 Май 2020 в 16:31

1 ответ

В качестве обходного пути добавлен фиктивный элемент верхнего уровня и проанализирован:

data = '{"persons":'+file.read(json_file)+'}'
personsdict = json.loads(data)
print(packagedict['persons'][0]['languages'])
1
user3741611 1 Май 2020 в 16:45