SwiftyJSONメソッドexists()については知っていますが、彼らが言うように常に機能するとは限りません。この場合、どうすれば適切な結果を得ることができますか?クライアントのAPIを介して取得しているため、JSON構造を変更できません。
var json: JSON = ["response": ["value1","value2"]]
if json["response"]["someKey"].exists(){
print("response someKey exists")
}
出力:
応答someKeyが存在します
SomeKeyが存在しないため、印刷しないでください。しかし、そのキーがクライアントのAPIから取得されることがあり、それが存在するかどうかを確認する必要があります。
_json["response"]
_の内容は辞書ではなく配列であるため、この場合は機能しません。 SwiftyJSONは、配列内の有効な辞書キーをチェックできません。
辞書を使用すると、機能しますが、期待どおりに条件が実行されません。
_var json: JSON = ["response": ["key1":"value1", "key2":"value2"]]
if json["response"]["someKey"].exists() {
print("response someKey exists")
}
_
問題の解決策は、.exists()
を使用する前に、コンテンツが実際に辞書であるかどうかを確認することです。
_if let _ = json["response"].dictionary {
if json["response"]["someKey"].exists() {
print("response someKey exists")
}
}
_