Я следующий файл с именем Python exampleData.json:декодирования JSON в Python
[
{
"startTime" : 1383790636.261329,
"confidence" : 2,
"type" : 3,
"startTime2" : "2013-11-06 21:17:16.261",
"duration" : 4.287207
},
{
"startTime" : 1383790640.548536,
"confidence" : 2,
"type" : 3,
"startTime2" : "2013-11-06 21:17:20.549",
"duration" : 3.674701
},
{
"startTime" : 1383790644.223238,
"confidence" : 2,
"type" : 3,
"startTime2" : "2013-11-06 21:17:24.223",
"duration" : 7.35066
}
]
(Фактический файл имеет около 1000 блоков, я только что вставил 3 здесь). Я проверил весь файл JSON с помощью jsonlint.com, и он действительно JSON.
Я пытаюсь запустить следующую программу под названием jsonGraph.py для ввода кода в Python:
import json
import pprint
data = []
with open('D:/Users/Vik/Downloads/exampleData.json') as data_file:
for line in data_file:
data.append(json.loads(line))
Проблема заключается в том, когда я пытаюсь запустить программу, я получаю следующую ошибку:
D:\Users\Name>py D:\Users\Name\Downloads\jsonGraph.py
Traceback (most recent call last):
File "D:\Users\Name\Downloads\jsonGraph.py", line 7, in <module>
data.append(json.loads(line))
File "D:\Python33\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "D:\Python33\lib\json\decoder.py", line 352, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "D:\Python33\lib\json\decoder.py", line 368, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting object: line 1 column 2 (char 1)
Любые идеи относительно того, что вызывает эту ошибку?
У меня есть сообщение об ошибке, и на этом сайте есть похожие сообщения с похожими ошибками, но этот вопрос уникален по двум причинам: 1. они были вызваны использованием недействительного кода JSON, а мой действителен и 2. Это несколько другое сообщение об ошибке. Я также проверил документацию на python и не нашел никакой информации.
Технически это недействительно JSON, если верхний уровень представляет собой массив - он должен быть объектом. – agf