首页 > 解决方案 > 如何使用 Swift 使用 API 响应

问题描述

我正在尝试发出 API 请求以获取 API 响应我正在获取所有元素但我面临大括号问题我想要一个完整的响应和“order_devices”键,在 {} 大括号中,但我在 [] 大括号中得到这些。

the array in which i am passing value,

var popUpArray :[[String:AnyObject]] = []

然后在 btn 单击我将值保存在字典中

@IBAction func btnSave(_ sender: Any) {

    let popupDict = (["quantity": Int(txtEnterQuantity.text!), "name": lblDeviceName.text,"id": deviceDict["id"], "region":1, "system_integrated":1 ])as! [String:AnyObject]

然后将相同的字典值作为参数传递

    let passDict = [
            "dealer_id":dropDownId!,
            "client_id":dropDownId!,
            "distributor_id":searchBarId!,
            "emp_id":UserId,
            "comments":CommentKey!,
            "accepted_by":0,
            "valid_from":strDate!,
            "valid_upto": 0,
            "order_devices":popupDict
            ] as [String : Any]

            if Reachability.isConnectedToNetwork() {
            showActivityIndicator()
            Alamofire.request("http://13.232.230.41/IAC_CRM/public/api/createOrder", method: .post, parameters: passDict, encoding: JSONEncoding.default, headers: [:])
                .responseJSON { (response) in

我收到了这个回复,

[“评论”:“演示”,“dealer_id”:3,“valid_from”:“6-3-2019”,“distributor_id”:72,“client_id”:3,“accepted_by”:0,“emp_id”:33 , "valid_upto": 0 "order_devices": [
[“id”:1,“数量”:10,“区域”:1,“system_integrated”:1],[“id”:2,“数量”:12,“区域”:1,“system_integrated”:1 ] ] ]

我想要这个回应,

{ "dealer_id":"1", "client_id":"2", "distributor_id":"2", "emp_id":"1", "comments":"IAC 测试设备评论", "accepted_by":0, "valid_from":"2019-01-24", "valid_upto":"1", "order_devices":[ { "device_id":"1", "quantity":"1", "region":1, "system_integrated ":1 } , { "device_id":"2", "quantity":"1" "region":1, "system_integrated":1 } ] }

意味着我想要整个响应和“大括号”中的“order_devices”键{}。

标签: iosswift4alamofirejsonresponse

解决方案


请求或响应没有任何问题,您正在响应您的 API 返回的内容,您应该要求后端开发人员或 Api 提供者以您的要求的形式给您响应,我的意思是正确格式化现在它以数组的形式。


推荐阅读