alamofire-传递 json 字符串作为参数

Posted

技术标签:

【中文标题】alamofire-传递 json 字符串作为参数【英文标题】:alamofire-Pass json string as parameter 【发布时间】:2016-04-14 05:35:46 【问题描述】:

我想将json字符串作为参数传递,但它只允许字典:

Alamofire.request(.POST,"myURL", parameters: "HERE I WANT STRING", encoding: .JSON).responseJSON
  response in
    if let JSON = response.result.value 
                    print("JSON: \(JSON)")
                
             

我认为我的服务器接受 json 格式的参数。

【问题讨论】:

欢迎来到 Stack Overflow!我编辑了您的问题以从代码示例中删除问题主体,该问题主体由 4 个空格缩进,以便正确呈现 - 请参阅编辑帮助以获取有关格式的更多信息。请编辑以提供识别特定问题所需的任何其他详细信息。祝你好运! 【参考方案1】:

别担心。 只需将Json作为这个并用作参数

let jsonObject: [String: AnyObject] = [
            "status": "0" , "secondparameter" : "something"]


Alamofire.request(.POST,"myURL", parameters : jsonObject , encoding: .JSON).responseJSON
  response in
    if let JSON = response.result.value 
                    print("JSON: \(JSON)")
                
             

希望对你有帮助。

【讨论】:

它将 json 对象发送为 -- ["warehouse_details": city = Kraft;国家=DZ; “邮政编码”= 9756;会话=“MKL”; “仓库名称”=大声笑; ] 而后端想要的是:"warehouse_details": city = Kraft;国家=DZ; “邮政编码”= 9756;会话=“MKL”; “仓库名称”=大声笑; 你能从服务器端确认一下,你得到的输入参数是什么。与在 alamofire 中一样,您将其编码为 Json 。 当我们将 json 对象转换为字符串时,它将是 "":"" ,所以我想以这种格式发送请求,我的意思是 "":"" 而不是 ["": “”]。所以 alamofire 发送 ["":""] 这就是为什么它不工作,如果我使用苹果的本地方法比它工作正常 var request:NSMutableURLRequest = NSMutableURLRequest() 嘿,我认为您的问题不是 ["" : ""],因为我正在使用它并且它工作得很好,而且我的后端也接受 "":"",对于两个 androidios 。当我将参数发送为 ["":""] 时,我检查了后端日志并将其显示为 "":"" 。所以我的猜测是编码: .JSON 在将其发送到服务器之前发挥作用。请检查并将其还原,以便我们消除疑虑。

以上是关于alamofire-传递 json 字符串作为参数的主要内容,如果未能解决你的问题,请参考以下文章

发送 JSON 数组作为参数 Alamofire

Alamofire/Swiftyjson - 将 JSON 类型传递给 Objc 协议委托

如何使用 Alamofire 同时传递 queryStrings 和 JSON Body

使用 alamofire 将带有 JSON 对象和查询参数的 POST 请求发送到 REST Web 服务

在 swift 中使用 alamofire 发送 JSON 数组作为参数

如何在 alamofire 发布请求中发送 JSON 变量作为参数