2016-10-31 2 views
3

Я хочу послать ниже параметракак отправить словарь в качестве параметра в Alamofire, скор 3

{"serial_number":{"type":"match", "value":"somevalue"}} 

поэтому я попытался как этот

let parameters : [String:AnyObject] = [ 
      "serial_number":[ 
       "type":"match", 
       "value":serialNum 
      ] 
     ] 

и «GET», как это

Alamofire.request(.GET, Constant.WebClient.Cool + "/creator/" + cid + "/wa?filling=", parameters: nil, headers: headers) 
      .responseJSON { response in 

       switch response.result { 
       case.Success(let JSON): 
        print("get json is success") 
        if JSON["status"] != nil && JSON["status"] as! String == "fail"{ 
         print("some error occured") 
        } 
        else{ 
         let resultArray = JSON as! NSArray 
         print("\(resultArray)") 
        } 
        break 
       case .Failure(let error): 
        print("request failed with error : \(error.localizedDescription)") 

       } 

     } 

но не работал для меня. как добраться

{"serial_number":{"type":"match", "value":"someval"}} 

в словарь. надеюсь, что это поможет. когда я пытаюсь напечатать словарь, это было как ниже

["serial_number": { 
    type = match; 
    value = "some val"; 
}] 

надеюсь, что это поможет.

ответ

1

запрос alamofire использует кодировку по умолчанию, т.е. URLEncoding.default, который в данном случае не работает, как ожидалось, так что вы должны изменить кодировку JSONEncoding(options: [])

последующей документации: https://github.com/Alamofire/Alamofire#json-encoding

Смежные вопросы