SwiftyJSON返回UNKNOWN,但.exists()返回TRUE?

时间:2016-11-04 16:34:05

标签: json swift swifty-json

我对这个包裹感到厌倦......这是对的吗?因此,如果JSON类型返回UNKNOWN,那么稍后我会检查它返回TRUE的键吗?

let json = JSON(jsonFromServer)
print(json) // prints "unknown"
print(json["key"].exists()) // returns true?!

UNKNOWN是什么意思?我已经用好的案例测试了代码,它确实有效。现在,如果服务器没有返回JSON我的代码是错误的。我做错了什么或如何检查JSON()是否返回未知?它记录得很糟糕。你推荐另一个包吗?如果没有解决方案,我应该使用默认包吗?

1 个答案:

答案 0 :(得分:3)

从SwiftyJson的代码中,我可以说它是swifty-json不支持的任何类型:

public enum Type :Int{
    case Number
    case String
    case Bool
    case Array
    case Dictionary
    case Null
    case Unknown
}

要检查错误,您将error设置为json

default:
    _type = .Unknown
    _error = NSError(domain: ErrorDomain, code: ErrorUnsupportedType, userInfo: [NSLocalizedDescriptionKey: "It is a unsupported type"])
}

就我个人而言,我发现它是自我记录的,仍然可以参考this链接获取详细的文档/示例用法。