2017-01-12 4 views
1

Привет Я новичок здесь, и у меня возникла проблема с Swift 3 и Alamofire. Мне нужно отправить это значение точно так, как оно есть, но я получил ошибку. Я думаю, что я должен сделать это по-другому, но я не могу найти его, не могли бы вы мне помочь?Отправить параметры для запроса Swift 3 Alamofire

error: contextual type '[String : Any]' cannot be used with array literal

let url: String = "http://192.168.1.1/ubus" 
    let param: [String: Any] = ["{ \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"call\", \"params\": [ \"00000000000000000000000000000000\", \"session\", \"login\", { \"username\": \"root\", \"password\": \"admin01\"  } ] }" ] 
    Alamofire.request(url, method: .post, parameters: param, 
         encoding: JSONEncoding.default) 
     .responseJSON { response in 
      if(response.result.isFailure){ 
       print("no data!"); 

      }else{ 
       print("received data!"); 
      } 
    } 
+0

печати ошибка пожалуйста –

+0

Обновленный вопрос –

+0

Используйте этот массив: пусть парам: [String: Любой] = [ "jsonrpc": Метод 1,»: "2,0", "идентификатор" ":" call "," params ": [" 000000000000000000000000000000000000 "," session "," login ", [" username ":" root "," password ":" admin01 "]]] –

ответ

1

Для решения этой проблемы попытайтесь понять, как правильно сформировать PARAMS Dictionary для запроса.

В вашем случае у вас есть проблема в параметрах.

Fixed версия:

let param: [String: Any] = ["jsonrpc": "2.0", "id": 1, "method": "call", "params": [ "00000000000000000000000000000000", "session", "login", [ "username": "root", "password": "admin01"]]] 
Смежные вопросы