2017-01-12 3 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

印刷エラーPLS –

+0

更新質問 –

+0

この配列を使用してください:みましょうPARAM:[文字列:任意] = [ "JSONRPC": "2.0"、 "ID":1、「方法":" call "、" params ":[" 00000000000000000000000000000000 "、" session "、" login "、[" username ":" root "、" password ":" admin01 "]]] –

答えて

1

問題の解決のために適切に要求のためのDictionaryのparams形成方法を理解してみてください。

あなたの場合、あなたはparamsで問題があります。

固定バージョン:

let param: [String: Any] = ["jsonrpc": "2.0", "id": 1, "method": "call", "params": [ "00000000000000000000000000000000", "session", "login", [ "username": "root", "password": "admin01"]]] 
関連する問題