2012-07-03 35 views
0

我有一個JSON字符串,我從網頁中解析出來的,我試圖用json.loads()將它變成一個Python字典。然而,一些在JSON字符串值的包含雙引號,例如使用HtmlXPathSelector返回包含HTML實體的字符串

'{"title": "The "Star Wars Kid": Where is he now?"}' 

顯然,這不是一個正確的JSON字符串,並json.loads()抱怨。使用類似string.replace('"', '\\"')也不起作用,因爲這是一個單獨的字符串,這樣做會影響正確的雙引號以及錯誤的引號。

順便說一句,在網頁上,因爲刮的時候這不會導致HtmlXPathSelector錯誤,壞的報價進行編碼,像這樣

'{"title": "The "Star Wars Kid": Where is he now?"}' 

我怎樣才能正確地解析這個字符串json.loads()

編輯:據我所知,在編碼引號解碼之前解析字符串會很簡單(如第二個例子),所以我想我真正要問的是如何獲得這種類型的來自python HtmlXPathSelector的靜態編碼結果。

如果HTML文檔我刮包含此字符串

'{"title": "The "Star Wars Kid": Where Is He Now?"}' 

我怎樣才能得到HtmlXPathSelector返回該字符串完全相同的不編碼引號解碼?

回答

2
{"title": "The "Star Wars Kid": Where is he now?"} 

這裏是當你想解碼JSON。然後再替換「壞引號」。

+0

謝謝,這很有道理。你能推薦一種從HtmlXPathSelector獲得這個預解碼版本的方法嗎? –

相關問題