[英]decoding JSON into Python
我有以下名為exampleData.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個)。 我已經使用jsonlint.com驗證了整個JSON文件,並且它是有效的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對象 。 用json.load()
解析為一個:
import json
with open('D:/Users/Vik/Downloads/exampleData.json') as data_file:
data = json.load(data_file)
您的代碼嘗試將每一行都視為JSON值; 因為[
(第一行)不是完整的JSON值,所以也不行,因為合並后幾行也不會。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.