2016-01-08 43 views
1

如何將此字符串u'{\'name\': "User", \'valid\': False}'轉換爲使用.loads()的json。如何將帶反斜槓的字符串轉換爲json

我得到一個

*** ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

,我不希望使用.eval()ast_literals()

+0

只是出於好奇...你怎麼最終與這些反斜槓? –

回答

3

這個看起來不像一個有效的JSON - 應該有雙引號字符串而不是單引號字符串和false而不是Falseast.literal_eval()會處理原樣,但如果你想使用json.loads()你就必須在裝貨前修復它,這個樣本輸入:

>>> import json 
>>> 
>>> s = u'{\'name\': "User", \'valid\': False}' 
>>> s = s.replace("\'", '"').replace("False", "false") 
>>> json.loads(s) 
{u'valid': False, u'name': u'User'} 

請注意,這是不是真的可靠。

相關問題