在单个类中处理2个相同值的键

时间:2017-09-26 08:58:02

标签: json swift serialization swifty-json

我有一个用例,我使用

从JSON获得分数
RewriteCond %{HTTP_REFERER} !^https://www.example.com/.*$      [NC]
RewriteCond %{HTTP_REFERER} !^https://www.example.com$      [NC]
RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit/1.1 [NC]
RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit/1.0 [NC]
RewriteCond %{HTTP_USER_AGENT} !Facebot [NC]
RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ https://www.example.com [R,NC]

我必须重复使用此类进行响应,其中只有的值会发生变化,即

let score = json["score_test"].arrayValue.map {Score.decode(json: $0)}

有没有办法实现这一点,以便我获得分数对象的数据,无论密钥是 score_test 还是得分,具体取决于JSON使用相同的类?

此外,我尝试使用nil检查,但因为初始化对象无法正常工作。

得分模型:

let score = json["score"].arrayValue.map {Score.decode(json: $0)}

1 个答案:

答案 0 :(得分:0)

根据我的理解,score的类型为[Score],所以我要做的是:

var score = json["score_test"].arrayValue.map {Score.decode(json: $0)}

if score.isEmpty {
    score = json["score"].arrayValue.map {Score.decode(json: $0)}
}