试图在Swift中解析JSON,但得到错误

时间:2016-09-24 04:41:40

标签: ios json swift

{
    "base": "EUR",
    "date": "2016-09-23",
    "rates": {
        "AUD": 1.4685,
        "BGN": 1.9558,
        "BRL": 3.5931,
        "CAD": 1.4625
    }
}

我有一个像这样的json,我试图获得费率,但得到了错误,我的代码如下:

let id = json["rates"] as? String
print("rates   :" + id!)

我是新手,我想分别获得每个费率,有人可以帮助我吗?谢谢

3 个答案:

答案 0 :(得分:0)

试试这个:

If let id = json["rates"] as? [String:AnyObject] {
    print("rates   :" + id)
}

答案 1 :(得分:0)

您可以按照下面提到的代码来获取各个值。

这里的速率是字典类型,因此所有值都可以通过其相应的键值(即AUD,BGN等,如此json["rates"]??["AUD"])获取,如我的代码所示。

我的代码:

    let id = json["rates"]
    print("rates   : \(id)");

    print("AUD = \(json["rates"]??["AUD"])");
    print("BGN = \(json["rates"]??["BGN"])");
    print("BRL = \(json["rates"]??["BRL"])");
    print("CAD = \(json["rates"]??["CAD"])");

希望它有所帮助。

快乐的编码......

答案 2 :(得分:0)

您也可以这样做,它可以提供您字典中的多少费率。

if let rates = json["rates"] as? [String: AnyObject] {

                for rate in rates {

                    let corresponsdingRate = rate.1 as? Float ?? 0.0
                    print("\(rate.0) = \(corresponsdingRate)")
                }
            }