3

私はこの 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: リンク.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-Object linksListすべての Strings -> test -> myTestを置き換えるにはどうすればよいですか

助けてくれてありがとう。JSON オブジェクトを置換するために次のことを試みましたが、ウムラウトに問題はありません。

linksFile = open('links.json', 'r')
linksList = json.load(linksFile)
dump = json.dumps(linksList)
linksList = json.loads(dump.replace('toReplace', 'replacement'))
4

1 に答える 1

1

その文字列がKöterだった場合、問題は json (de)serialization ではなく、エンコーディングにあります。cp1250を使用しているようです。

エンコーディングを明示的に指定してみてください (デフォルトは UTF-8 ですが、これは明らかにあなたのケースではありません):

myJson = json.loads(linklist, 'cp1250')
于 2012-08-15T23:20:28.830 に答える