簡體   English   中英

Alamofire參數僅接受[String:Anyobject]?

[英]Alamofire parameter only accepts [String : Anyobject]?

我正在使用Alamofire(這是Swift中的HTTP網絡庫),並嘗試使用以下json作為請求中的參數來發出PUT請求,但似乎不喜歡versions字段,因為它里面有另一個字典它的。 有沒有辦法解決?

var reqJson = [
        "asdf": "sdfs",
        "lsd": "asdf",
        "asdf" : "coc",
        "qwer": "sdf",
        "cvc": "kljb",
        "xcv": "qwe",
        "versions": [
            [
                "version": "\(version)",
                "component": "\(compName)"
            ]
        ]
    ]

    Alamofire.request(.PUT, baseURL + "/cli/applicationProcessRequest/request", parameters: reqJson, encoding: .JSON).authenticate(user: _user, password: _passwd).responseJSON{
        (_,_,data,error) in

        completionHandler(error)
    }

似乎是這種情況,因為參數應該是[String:Anyobject],但另一個字典不是Anyobject嗎?

您的請求中沒有足夠的信息來讓編譯器推斷出正確的類型(可能是由於嵌套的字典,因此推斷出NSDictionary)。 只需修改您的聲明以幫助解決問題。

let reqJson: Dictionary<String, AnyObject> = [
    "asdf": "sdfs",
    "lsd": "asdf",
    "asdf" : "coc",
    "qwer": "sdf",
    "cvc": "kljb",
    "xcv": "qwe",
    "versions": [
        [
            "version": "abc",
            "component": "xyz"
        ]
    ]
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM