![](/img/trans.png)
[英]ValueError('No JSON object could be decoded',) is not JSON serializable
[英]Don't understand why ValueError: No JSON object could be decoded occurs
我收到以下錯誤
ValueError: No JSON object could be decoded
我的json數據有效,我將JSON文件編碼更改為utf-8,但仍然無法正常工作,這是我的代碼:
f = open(os.path.dirname(os.path.abspath(__file__))+"/test.json", 'w+')
data = json.load(f)
pprint(data)
這是我的test.json數據:
{"X":19235, "Y":19220, "Z":22685}
首先,讓我們確認您的json數據有效地模擬了文件內容,如下所示:
import json
from StringIO import StringIO
f = StringIO("""
{"X":19235, "Y":19220, "Z":22685}
""")
try:
data = f.read()
json.loads(data)
except:
print("BREAKPOINT")
print("DONE")
該腳本僅打印DONE
,這意味着您的文件內容是有效的JSON,因此,如果我們看一下您的腳本:
f = open(os.path.dirname(os.path.abspath(__file__))+"/test.json", 'w+')
data = json.load(f)
pprint(data)
代碼的主要問題是您正在使用w+
寫模式,該模式會截斷文件(您應該使用讀取模式),因此文件對象不再有效。 嘗試這個:
f = open(os.path.dirname(os.path.abspath(__file__))+"/test.json", 'rb')
data = json.load(f)
pprint(data)
或這個:
f = open(os.path.dirname(os.path.abspath(__file__))+"/test.json", 'rb')
data = json.loads(f.read())
pprint(data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.