2017-10-18 83 views
0

我使用VBA從Excel獲取一些用戶輸入數據到python,導致我的問題的數據項看起來像這樣,他們在file.json值錯誤沒有JSON對象可以解碼設置缺省值的默認值

[{"ExclusionList_var": [ 
[ 
    "Exclusion List", 
    "Name", 
    "Rank", 
    "Rec", 
    "Min", 
    "Max", 
    "Relative", 
    "Active", 
    "Date", 
    "Dupe?", 
    "Comment" 
    ], 
    [ 
    "6076146", 
    , 
    , 
    , 
    -0.002, 
    0.002, 
    "Y", 
    , 
    null, 
    "", 
    "Mega Structure" 
    ]]}] 

它看起來像缺少的值引起的問題,在python我只是這樣做。

with open("file.json") as json_file: 
    data = json.load(json_file) 

是否有默認情況下檢測這些值並將它們設置爲「」或null?我無法在json創建端做到這一點,因爲這是直接用戶輸入。

+0

這是無效的JSON。你是如何生成這個文件的?最好的解決方案將在那裏。 –

+0

這是我剝離了json的例子,我修正了它 – ThatQuantDude

回答

0

編輯:是不是真的有一個簡單的方法加載之前,以「修復」的JSON,是有辦法在塊的創建側正確地創建了嗎?

=======

有幾件事情不對的JSON塊,這是造成這樣一個字符串,JSON轉換

有幾件事情的錯誤:那只是逗號(行,)是不正確的JSON,如果你需要空的空間,我會建議使用空字符串(""

第二部分是,底部的括號和大括號不是在你有最佳。這是一個可用的JSON對象:

[ 
    { 
    "ExclusionList_var": [ 
     [ 
     "Exclusion List", 
     "Name", 
     "Rank", 
     "Rec", 
     "Min", 
     "Max", 
     "Relative", 
     "Active", 
     "Date", 
     "Dupe?", 
     "Comment" 
     ], 
     [ 
     "6076146", 
     "", 
     "", 
     "", 
     -0.002, 
     0.002, 
     "Y", 
     "", 
     null, 
     "", 
     "Mega Structure" 
     ] 
    ] 
    } 
] 
+0

有沒有讓json解析器填充空字符串的方法? – ThatQuantDude

+0

不是我所知道的,我最好的建議是查看這個創建方面是否可以在它的位置放置一個空字符串或null –