我有这个JSON Python字符串:
linklist = str('
{
"Download":{
"Test": "http://www.test.org",
u"K\xf6ter": "http://www.koeter.de"}
}'
)
我想用:
myJson= json.loads(linklist)
但是我遇到了问题,因为JSON字符串中有一个德语变音符号
对此字符串进行编码/解码的最佳方法是什么,以便使用simplejson将字符串转换为有效的JSON对象
嘿,伙计们这就是我想在我的代码中做的事情:
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 中,我想搜索测试并将其替换为即myTest
如何替换此JSON-Object linksList 所有字符串 - >测试 - > MYTEST
非常感谢您的帮助。我试着在JSON对象上进行替换,并且对于变音符号没有问题:
linksFile = open('links.json', 'r')
linksList = json.load(linksFile)
dump = json.dumps(linksList)
linksList = json.loads(dump.replace('toReplace', 'replacement'))
答案 0 :(得分:1)
如果该字符串是Köter,则问题在于编码,而不是json(de)序列化。看起来你正在使用cp1250。
尝试明确指定编码(默认值为UTF-8,显然不是你的情况):
myJson = json.loads(linklist, 'cp1250')