我有一个JSON Python字符串:
linklist = str('
{
"Download":{
"Test": "http://www.test.org",
u"K\xf6ter": "http://www.koeter.de"}
}'
)
我想使用:
myJson= json.loads(linklist)
但我遇到了一个问题,因为JSON字符串中有德语umlaut字符
什么是最好的编码/解码方式,以便将该字符串转换为有效的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)中,我想要搜索test并将其替换为myTest。
如何在这个JSON对象的链接列表(linksList)中将所有的字符串 -> test -> myTest进行替换?
非常感谢您的帮助。我尝试使用以下方法对JSON对象进行替换,并且没有遇到umlauts的问题:
linksFile = open('links.json', 'r')
linksList = json.load(linksFile)
dump = json.dumps(linksList)
linksList = json.loads(dump.replace('toReplace', 'replacement'))
json.loads
>json.dumps
和(包含UTF-8 str的Python列表)>json.dumps
>json.loads
看控制台输出至少不是对称操作。至少对我而言,经过了谷歌的尽责调查,也找不到一个解释。这两个操作都似乎给你一个unicode
/ UTF-16表示,而不是UTF-8。即使在dumps
和loads
中显式使用encoding ='utf-8'
,也是如此。 - Silas Ray