我有這樣的JSON Python字符串:如何將字符串轉換使用變音符號回JSON
linklist = str('
{
"Download":{
"Test": "http://www.test.org",
u"K\xf6ter": "http://www.koeter.de"}
}'
)
我想用:
myJson= json.loads(linklist)
但我得到一個問題,因爲有一個德國元音在JSON字符串中
對此字符串進行編碼/解碼的最佳方式是什麼,以便字符串被轉換爲有效的JSON對象,並使用simplejson
嗨這裏是我想在我的代碼做:
JSON:links.json
{
"Download":{
"Link1ä":"http://www.link1.de/test",
"Link2ö":"http://www.link2.de/test/cool",
"Link3ü":"http://www.link3.de/test/foo/bar",
"Link4ü":{"Link5ü":"http://www.link5.de/test"}
}
}
的Python文件:
linksFile = open('links.json', 'r')
linksList = json.load(linksFile)
在這種linksList我想搜索測試並將其替換爲ie myTest
c一個I替換此JSON-對象linksList所有字符串 - >測試 - > MYTEST
非常感謝您的幫助。我嘗試以下,使JSON對象上更換,沒有問題,變音符號:
linksFile = open('links.json', 'r')
linksList = json.load(linksFile)
dump = json.dumps(linksList)
linksList = json.loads(dump.replace('toReplace', 'replacement'))
你是怎麼得到這個字符串? – delnan 2012-08-15 22:02:56
@delnan是他的字符串不太正確,但是(utf-8 json)>'json.loads'>'json.dumps'和(包含UTF-8 str的python列表)>'json.dumps'>'json。負載「不是,至少從控制檯輸出看,是對稱操作。至少對於我來說,谷歌的盡職調查也不會給出解釋。這兩個操作似乎都給你一個「unicode」/ UTF-16表示,而不是UTF-8。使用明確的'encoding ='utf-8''和'dumps'和'loads'保持真實。 – 2012-08-15 23:16:13