https://api.kivaws.org/v1/loans/newest.json

class Loans: Mappable { var name: String? var sector: String? var loanammount: Int? required init?(_ map: Map){ } func mapping(map: Map) { name <- map["name"] sector <- map["sector"] loanammount <- map["loan_ammount"] } } class Arrayz: Mappable { var loans: [Loans]? required init?(_ map: Map){ } func mapping(map: Map) { loans <- map["loans"] } } 

I do not know how to make mapping

upd request

 class kivaAPImanager { static let sharedAPI = kivaAPImanager() var URL = "https://api.kivaws.org/v1/loans/newest.json" func arrayWithDictRequest() -> Observable<[Arrayz]> { return Observable.create { observer in let request = Alamofire.request(.GET, self.URL).responseArray { (response: Response<[Arrayz], NSError>) in if let error = response.result.error { observer.on(.Error(error)) } else { observer.on(.Next(response.result.value!)) observer.on(.Completed) } } return AnonymousDisposable { request.cancel() } } } } 

bring here

 class ViewController: UIViewController { @IBOutlet weak var tableView: UITableView! let disposeBag = DisposeBag() var values = Variable([Arrayz]()) let indicator = ViewIndicator() let refreshControl = UIRefreshControl() override func viewDidLoad() { super.viewDidLoad() values.asObservable() .bindTo(tableView.rx_itemsWithCellIdentifier("Cell", cellType: TableViewCell.self)) { (row, element, cell) in // cell.nameLabel?.text = // cell.nameLabel?.text = element. // cell.nameLabel?.text = != nil ? element.name! : "noName" // cell.loanLabel?.text = element.loanammount != nil ? String(element.loanammount!) : "0" // cell.sectorLabel?.text = element.sector != nil ? element.sector! : "noSector" } .addDisposableTo(disposeBag) kivaAPImanager.sharedAPI.arrayWithDictRequest() .subscribeNext { response in self.values.value = response } .addDisposableTo(disposeBag) print(values) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } 
  • mapping what where and why? - Max Mikheyenko
  • still not clear. Well, you got json. what do you want to do next? - Max Mikheyenko
  • I already understood everything what the problem was. I tried to parse the array and I had a object - DmitrievichR

1 answer 1

rewrote the request and everything turned out

 class kivaAPImanager { static let shareAPI = kivaAPImanager() var URL = "https://api.kivaws.org/v1/loans/newest.json" func requestArray() -> Observable<NewestResponse> { return Observable.create { observer in let request = Alamofire.request(.GET, self.URL).responseObject { (response: Response<NewestResponse, NSError>) in if let error = response.result.error { observer.on(.Error(error)) } else { observer.on(.Next(response.result.value!)) observer.on(.Completed) } } return AnonymousDisposable { request.cancel() } } } }