2013-09-25 24 views
0

我在文本文件中有一個有效的JSON(使用Lint進行檢查)。在文本文件中有效的JSON,但是python json.loads給出了「JSON對象可以被解碼」

我加載的JSON如下

test_data_file = open('jsonfile', "r") 
json_str = test_data_file.read() 
the_json = json.loads(json_str) 

我在林特文件已經驗證JSON數據,它表明它是有效的。然而,json.loads拋出

ValueError: No JSON object could be decoded 

我是Python的新手,所以不知道如何以正確的方式做到這一點。請幫忙 (我認爲它有一些事情要做,它將utf-8編碼爲unicode格式的字符串,因爲文件中的數據是作爲字符串檢索的)

+3

請複製粘貼'jsonfile'內容的示例。當我編寫自己的內容時,您的代碼完全適合我。 –

+0

如果這是一個編碼問題,你應該收到一個'UnicodeDecodeError'。你確定你正在閱讀正確的文件嗎?讀取一個空文件和一個空字符串將導致一個'ValueError:不能解碼JSON對象'。 – cpburnz

+2

無論它值多少錢,你都不必調用'.read()'。這個工作原理:'打開('jsonfile','r')作爲test_data_file:the_json = json.load(test_data_file)' –

回答

0

我試着用open('jsonfile','r')現在它可以工作。 我也做了文件

json_newfile = open('json_newfile', 'w') 
json_oldfile = open('json_oldfile', 'r') 
old_data = json_oldfile.read() 
json.dump(old_data, json_newfile) 

,現在我讀新文件以下。

相關問題