2017-10-04 4 views
0

JSONリクエストでフィールドが指定されているかどうかを確認する必要があります。私の要求は: {"ip": "8.35.60.229", "blackListCountry" : "Az"}または単に:{"ip": "8.35.60.229"}です。JSONでデータが指定されているかどうかを確認するにはどうすればよいですか?

blackListCountryはそれに含まれていますか?

userIP = request.json["ip"] 
blackListCountry = request.json["blackListCountry"] 
print(blackListCountry) 
+1

[最も効率的な方法の可能性の重複を辞書キーが存在するかどうかを確認し、あればその値を処理するために、それはありません](https://stackoverflow.com/questions/28859095/most-efficient-method-to-check-if-dictionary-key-exists-and-process-its-value-if) – coder

+0

"json"はテキスト形式であり、データ型ではありません。ここにあなたが持っているのは、明白な 'dict'です。 –

答えて

0
x = {"ip": "8.35.60.229", "blackListCountry" : "Az"} 
if "blackListCountry" in x: 
    #key exists 
else: 
    #key doesn't exists 
1

これを行うための最も簡単な方法:

x = {"ip": "8.35.60.229", "blackListCountry" : "Az"} 
print('blackListCountry' in x) 
> True 

in検索キー 'をblackListCountry' とTrueまたはFalseブール値を返します。

1

request.json()キーが見つからない場合は、Noneを返す.get()方法を使用することができますので、実際に、辞書を返す:

blackListCountry = request.json.get("blackListCountry") 

if blackListCountry is None: 
    # key is not found 
else: 
    print(blackListCountry) 
関連する問題