2010-12-21 18 views
0

私はJSON文字列を読んでいます。これは、文字列スタイルの文字列で埋められています。例:Pythonでunicode文字列をutf-8にフォーマットする方法は?

[ 
    { 
     "!\/award\/award_honor\/honored_for": { 
     "award": { 
      "id": "\/en\/spiel_des_jahres" 
     }, 
     "year": { 
      "value": "1996" 
     } 
     }, 
     "guid": "#9202a8c04000641f80000000003a0ee6", 
     "type": "\/games\/game", 
     "id": "\/en\/el_grande", 
     "name": "El Grande" 
    }, 
    { 
     "!\/award\/award_honor\/honored_for": { 
     "award": { 
      "id": "\/en\/spiel_des_jahres" 
     }, 
     "year": { 
      "value": "1995" 
     } 
     }, 
     "guid": "#9202a8c04000641f80000000000495ec", 
     "type": "\/games\/game", 
     "id": "\/en\/settlers_of_catan", 
     "name": "Settlers of Catan" 
    } 
    ] 

私はname = result.nameを割り当てます。そして、その値をDjangoテンプレートに渡してログオンすると、u'Dominion 'と表示されます。

Dominionとして表示するにはどうしたらいいですか?

++ UPDATE ++

私はこの問題は、リストや辞書からの印刷の値に関係していると思います。これはのように表示さ

result = freebase.mqlread(query) 

games = {} 
count = 0 
r = result[0] 
name = r.name 
games["name"] = name, 
self.response.out.write(games["name"]) 
self.response.out.write(name) 

:例えば

(u'Dominion',) // saved response to dictionary, and then printed 
Dominion  // when calling the value directly from the response 

Iは、Unicodeで示されているJSON項目と値の配列を反復処理する必要があります。どうして?

+0

**私は強く**あなたの実際のJSON文字列を疑っています... –

+0

文字列全体がずっと長くなっています。これはコンソールが印刷するものです。私はこの質問の目的のためにオリジナルを掲載する必要があるとは思わなかったが、私は更新する。 –

+0

私はあなたが値をコピーするコードとそれを表示する場所にもっと興味があります。 –

答えて

1

末尾のカンマは、games["name"] = name,の1タプルになります。それを除く。

+0

私は、キーと値のペアのリストからペーストしたものを切り捨てるので、カンマです。ありがとう! –

1
>>> # example 
>>> s = u"Jägermütze" 
>>> s.encode("utf-8") 
'J\xc3\xa4germ\xc3\xbctze' 
>>> print s.encode("utf-8") # on a utf-8 terminal 
Jägermütze 

Djangoについてよくわかっていませんが、snicode文字列を受け入れることは私には気の利いていないようです。

+0

Django *はユニコードをとっています。質問は不完全です。 –

0

これを行うにはstr(your string)を使用できます。

関連する問題