【问题标题】:alamofire-Pass json string as parameteralamofire-传递 json 字符串作为参数
【发布时间】: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 个空格缩进,以便正确呈现 - 请参阅编辑帮助以获取有关格式的更多信息。请编辑以提供识别特定问题所需的任何其他详细信息。祝你好运!

标签: ios objective-c swift afnetworking alamofire


【解决方案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()
  • 嘿,我认为您的问题不是 ["" : ""],因为我正在使用它并且它工作得很好,而且我的后端也接受 {"":""},对于两个 android和 ios 。当我将参数发送为 ["":""] 时,我检查了后端日志并将其显示为 {"":""} 。所以我的猜测是编码: .JSON 在将其发送到服务器之前发挥作用。请检查并将其还原,以便我们消除疑虑。
猜你喜欢
  • 2017-06-14
  • 1970-01-01
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多