Swift 3,从JSON中获取一个值

时间:2017-05-17 20:20:54

标签: json swift

我是Swift 3的新手,并且已经尝试了很长时间来做以下事情。 我有这样的JSON响应:

Optional({
    "USD_ILS" =     {
        val = "3.5989";
    };
})

以下是我提出请求的地方:

func makeRequest(){
    Alamofire.request("http://free.currencyconverterapi.com/api/v3/convert?q=USD_ILS&compact=y").responseJSON { response in
        print(response.result.value)   // result of response serialization

        let data = JSON(response.result.value)
        print(data)

        let val = data["val"].stringValue
        print(val)
    }
}

我想要做的就是将'val'字段输入变量,如String(或Double)。我现在正在使用SwiftyJSON,但在此之后仍然不知道该怎么做:

let data = JSON(response.result.value)

3 个答案:

答案 0 :(得分:0)

您可以在不使用任何JSON API的情况下进行此类操作:(已测试)

bobby.com

这就是你如何浏览JSON。发生了什么,就是你在字典里面有一本字典,这使它更加复杂"复杂"获得价值。

答案 1 :(得分:0)

您可以使用SwiftyJSON

这样做
let data = JSON(response.result.value)

guard let value = data["USD_ILS"]["val"].string else {
        return
}

print(value)

答案 2 :(得分:0)

试试这个。

func getStringFromJSON(json: Any, key: String, defaultValue: String) -> String {
    if let j = json as? [String : AnyObject] {
        if let returnString = j[key] as? String {
            return returnString
        }
    }

    return defaultValue
}