阅读中的 JSON 键 0Swift

标签: json ios Swift HTTP
发布时间: 2017/3/5 5:12:29
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有一个 HTTP GET 请求所返回任一︰

{"events":"Event Goes Here"} 

{"service":"Service goes here"}

那一刻我写两个 HTTP Get 函数,当我到了︰

 if let results: NSArray = jsonResult["services"] as? NSArray {

 if let results: NSArray = jsonResult["events"] as? NSArray {

我知道我获取服务或事件 Json 数据。

我想要能够简化 HTTP Get 请求,以便我可以在一个单一的函数中调用︰

 func makeGETRequest(urlRequest: String) {

如何做阅读中 json0 能够确定如果字符串及其事件或服务?

解决方法 1:

你似乎已经知道如何解析数据,但在问如何你可能包起来以避免冗余。

我认为你正在寻找这样的事情︰

func getStuff(urlRequest:String) -> Result

结果在哪里你有效载荷的关联值的枚举。 文档可以在这里找到

然后可以调用函数这样的事情︰

switch (getStuff("someUrl")) {
case let .Events(events):
    doStuffWith(events)
    break

case let .Service(serviceStuff):
    doStuffWith(serviceStuff)
    break
}

虽然,你的建议的形式的基准是,如果你想要使用一个常用的函数,你必须返回一个多路复用的类型。 你另一个选择,是供它调用类型特定的处理程序函数 / 关闭每个可能的类型,所以您不依赖返回类型,但反应与进一步调用结果这样所有处理都完成的时候,你 getStuff() 函数返回。

到实际的解析去,你只是将使用如果让 unwrappings 一系列检查你得到的结果。

官方微信
官方QQ群
31647020