如何在没有任何第三方库的情况下使用Swift 3.0中的Alamofire解析JSON [英] How to parse JSON using Alamofire in Swift 3.0 without any third-party library

查看:63
本文介绍了如何在没有任何第三方库的情况下使用Swift 3.0中的Alamofire解析JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这里我想通过url解析JSON。这是url上可用的实际JSON数据。所以我需要解析它并使用Alamofire在我的应用程序中阅读。但是我无法做到。

Here I want to parse JSON via url. This is what actual JSON data available on url. So I need to parse it and read in my app using Alamofire. But I 'm unable to do it.

我的网址中的JSON数据。

JSON Data in my url.

  {
        "main": [
        {
        "date": "2017-01-11",
        "USDARS": "15.8302",
        "USDCLP": "670.400024",
        "USDSDG": "6.407695"
        },
        {
        "date": "2017-01-12",
        "USDARS": "15.804999",
        "USDCLP": "661.599976",
        "USDSDG": "6.407697"
        },
        {
        "date": "2017-01-13",
        "USDARS": "15.839041",
        "USDCLP": "659.200012",
        "USDSDG": "6.407704"
        },
        {
        "date": "2017-01-14",
        "USDARS": "15.839041",
        "USDCLP": "659.200012",
        "USDSDG": "6.407704"
        }
    ]
}

我如何在swift 3.0中使用Alamofire阅读它

How do I read it using Alamofire in swift 3.0

下面是我试图通过url解析JSON数据以上的内容。

Below is what actually I'm trying to parse above JSON data via url.

Alamofire.request("myurl") .responseJSON { response in

            print("In Alamofire")
            if let arr = response.result.value as? [String:AnyObject]
            {

                if let arr = response.result.value as? [NSDictionary]
                {
                    let val1 = (arr["main"]["USDARS"] as? String)
                    print(val1)
                    //It does not print any thing.
                }
            }
        }

请帮助我。我是新来的。

Please help me. I'm new to it.

推荐答案

顶级json是 [String:Any] 和main是一个数组,即 [[String:String]]

Top level json is [String:Any] and main is an array i.e. [[String:String]]

    Alamofire.request("myurl") .responseJSON { response in
        if let result = response.result.value as? [String:Any], 
           let main = result["main"] as? [[String:String]]{
           // main[0]["USDARS"] or use main.first?["USDARS"] for first index or loop through array
           for obj in main{
               print(obj["USDARS"])
               print(obj["date"])
           }
        }
    }

这篇关于如何在没有任何第三方库的情况下使用Swift 3.0中的Alamofire解析JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆