2015-11-03 11 views
5

Alamofireのputメソッドまたはpostメソッドから生のjson文字列を送信するにはどうすればよいですか?投稿するAlamofire raw jsonの文字列

私はそれの例を見つけることができません。

let params = Mapper().toJSONString(results) // json string with array of objects 

Alamofire.request(.PUT, Config().apiGroup, parameters: params) 

取得エラー:あなたのエラーは言ったし、あなたのコードに応じてあなたは配列を渡すしようとしているよう

Cannot convert value of type 'String?' to expected argument type '[String : AnyObject]?' 

答えて

4

Alamofireが[String: AnyObject]?の辞書を期待して、あなたの代わりに辞書に変換する必要があります。 Alamofireに機能requestの署名を確認してください:

func request(method: Method, _ URLString: URLStringConvertible, 
      parameters: [String : AnyObject]? = default, 
      encoding: ParameterEncoding = default, 
       headers: [String : String]? = default) -> Request 

Alamofire docからこの例を参照してください:

let params = Mapper().toJSONString(results) // json string with array of objects 

Alamofire.request(.PUT, "http://httpbin.org/get", parameters: ["params": params]) 
    .response { request, response, data, error in 
     print(request) 
     print(response) 
     print(data) 
     print(error) 
     } 

私はこのヘルプにあなたを願っています。

+0

しかし、それはオブジェクトの配列なので、 '[String:AnyObject]'に変換することはできません。 :/ –

+0

はい、私は上記のAlamofireは、辞書ではなく配列を期待しています。あなたに更新された答えを見てください。 –

+0

しかし、私は '.POST'または' .PUT'を試しています。これは例またはデータ配列です: '[[" id ":10、" order ":0、" name ":Test]、" id ":12、" order ":9、" name ":Test2]これを '[String:AnyObject]'に変換することはできません –

関連する問題