"countries":{
"98":{
"uid":98,
"title":"Switzerland"
}
}
は私が
JSON復号法を使用して "タイトル" の値だけを取得したい、などの辞書を持っています。
注:「98」の値は動的なので、毎回変更されます。
どうすればこの問題を解決できますか?
"countries":{
"98":{
"uid":98,
"title":"Switzerland"
}
}
は私が
JSON復号法を使用して "タイトル" の値だけを取得したい、などの辞書を持っています。
注:「98」の値は動的なので、毎回変更されます。
どうすればこの問題を解決できますか?
あなたが98
のようないくつかのフィールドを持っていますが、それらはすべてのタイトルが含まれていることを意味している場合、あなたはこれを行うことができます:
titles = list()
for k in my_dict["countries"].keys():
if my_dict["countries"][k].has_key("title"):
titles.append(my_dict["countries"][k]["title"])
か、などをコメントに示唆
try:
titles = [item['title'] for item in dictName['countries']]
except KeyError:
print("no countries/title")
あなたが提供している "辞書"はJSON形式の文字列であり、それをPythonオブジェクト(辞書)にデコードしてからアクセスしようとしていると仮定します。
これが当てはまる場合、jsonモジュールはあなたの友人です! ドキュメント:https://docs.python.org/3/library/json.html
擬似コード
import json
# This is your JSON string
json_str = "......."
# This could be a dictionary, depending on the structure of the input JSON string
countries = json.loads(json_str)
# access!
target_uid = "98"
# This should print Switzerland
print(countries["countries"][target_uid]["title"])
データ 'target_uid'によると文字列でなければなりません。 – Matthias
@Matthias良いキャッチ。更新しました。ありがとう! –
それが実際に何であれ、 '' 98 ''が表すはずの' 'x' [" title "]'あるいはおそらく '' mydict ["countries"] [x] ["title"] 'あなたが持っている。 そうでなければ、あなたが何を求めているのか分からない。 – khelwood
jsonのデコード方法でコードを提供できますか? –
何を試しましたか? – Kendas