Как получить конкретный объект из JSON API в Xcode с помощью Alamofire?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как получить конкретный объект из JSON API в Xcode с помощью Alamofire?

Сообщение Anonymous »

Я быстро создаю проект приложения для электронной коммерции, и данные должны быть получены из API, который я создал с помощьюockapi.io.
Ссылка на API: https://62858a2ff0e8f0bb7c057f14.mockapi.io/categorias, но если вы не хотите вводить ссылку, вот как выглядит JSON:

Код: Выделить всё

[
{
"categorie1": "Fruits",
"categorie2": "Animals",
"categorie3": "Juices",
"categorie4": "Vegetables",
"categorie5": "Alcohol",
"categorie6": "Desserts",
"id": "1"
}
]
У меня есть файл с именем «ResponseWS», содержащий структуры для получения данных из API. Он выглядит так:

Код: Выделить всё

import Foundation

struct ResponseWS:Decodable{
let Datos:[Categories]
}

struct Categories:Decodable{
let id: String
let categorie: String
}
У меня также есть файл с именем «ConnectWS», в котором я обрабатываю данные с помощью Alamofire:

Код: Выделить всё

import Foundation
import Alamofire

class ConnectWS{

static let cmd = ConnectWS()
private let urlBase = "https://62858a2ff0e8f0bb7c057f14.mockapi.io/categorias"
private let code = 200...299

func getUsers(user: String, pass: String,success: @escaping(_ user: String) -> (), failure: @escaping(_ error: Error?)-> ()) {

AF.request(urlBase,method: .get).validate(statusCode: code).responseDecodable(of: ResponseWS.self){
response in
if let respuesta = response.data {

print(String(decoding: respuesta, as: UTF8.self))
success(String(decoding: respuesta, as: UTF8.self))

}else{

print(response.error!)
failure(response.error)

}
}
}
}
И, наконец, у меня есть ViewController, в котором я хочу отображать данные API:

Код: Выделить всё

import UIKit

class ViewControllerCategorias: UIViewController {
@IBOutlet weak var name: UILabel!
@IBOutlet weak var message: UILabel!
@IBOutlet weak var buttonOutlet: UIButton!

override func viewDidLoad() {
super.viewDidLoad()
}

@IBAction func buttonAction(_ sender: Any) {
ConnectWS.cmd.getUsers(user: "erik", pass: "1234", success: {user in
self.name.text = user
}, failure: {error in
self.message.text = error.debugDescription
})
}
}
Как вы можете видеть в «ViewController», у меня есть кнопка, которая, когда я нажимаю ее, возвращает ВСЕ данные из API, и я хочу получить конкретные «категории» " из API
Когда я нажимаю кнопку, метка показывает:

Код: Выделить всё

[{"categorie1":"Fruits","categorie2":"Animals","categorie3":"Juices","categorie4":"Vegetables","categorie5":"Alcohol","categorie6":"Desserts","id":"1"}]
Как получить конкретный объект API?

Подробнее здесь: https://stackoverflow.com/questions/725 ... -alamofire
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»