Как использовать ответ API с помощью Swift

#ios #swift4 #alamofire #jsonresponse

#iOS #swift4 #alamofire #jsonresponse

Вопрос:

Я пытаюсь сделать запрос API, чтобы получить ответ API, я получаю все элементы, но я сталкиваюсь с проблемой фигурных скобок, я хочу полный ответ и ключ «order_devices» в фигурных скобках {}, но я получаю их в фигурных скобках [].

 the array in which i am passing value,

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

затем при нажатии btn я сохраняю значения в словаре

@IBAction функция btnSave(_ отправитель: любой) {

     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»: [
[ «идентификатор»: 1, «количество»: 10, «регион»: 1, «system_integrated»: 1 ], [ «идентификатор»: 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», «количество «:»1», «регион»: 1, «system_integrated»: 1 } , { «device_id»: «2», «количество»: «1» «регион»: 1, «system_integrated»: 1 } ] }

означает, что мне нужен полный ответ и ключ «order_devices» в «фигурных скобках» {} .

Ответ №1:

В запросе или ответе нет ничего плохого, вы получаете ответ, который возвращает ваш API, вам следует попросить вашего разработчика серверной части или поставщика Api предоставить вам ответ в форме вашего требования, я имею в виду правильно отформатированный прямо сейчас его в виде массива.

Комментарии:

1. да, сэр, я получаю правильный ответ, но не в правильном формате, и в этом проблема

2. прямо сейчас сервер отправляет вам ответ в виде объекта массива, а не в виде словаря

3. как я могу преобразовать те же данные в виде массива?

4. пусть data = response как? [[строка: любая]] пусть DictData = data[0] как? [Строка: любая] и так далее…