iOS编程学习二十一(网络和JSON解析)

今天做的是JSON的小例子,调用一个免费的web service,然后对返回的JSON内容解析后显示出来。

涉及到了网络和多线程,之前都学习过了,所以非常简单。

let request = URLRequest(url: loanUrl)
        let task = URLSession.shared.dataTask(with: request, completionHandler: {
            (data, response, error) -> Void in
            if let error = error {
                print(error)
                return }
            // Parse JSON data
            if let data = data {
                self.loans = self.parseJsonData(data: data)
                // Reload table view
                OperationQueue.main.addOperation({
                    self.tableView.reloadData()
                })
            } })
        task.resume()

URLRequest来调用Service,返回数据后,返回到UI的主线程去更新UI。

用JSONSerialization类来解析JSON的内容:

var loans = [Loan]()
        do {
            let jsonResult = try JSONSerialization.jsonObject(with: data, options:
                JSONSerialization.ReadingOptions.mutableContainers) as? NSDictionary
            // Parse JSON data
            let jsonLoans = jsonResult?["loans"] as! [AnyObject]
            for jsonLoan in jsonLoans {
                let loan = Loan()
                loan.name = jsonLoan["name"] as! String
                loan.amount = jsonLoan["loan_amount"] as! Int
                loan.use = jsonLoan["use"] as! String
                let location = jsonLoan["location"] as! [String:AnyObject]
                loan.country = location["country"] as! String
                loans.append(loan)
            }
        } catch {
            print(error)
        }
JSON和XML类似,但是比xml可读性更高,越来越广泛,所以这是一项基本的功能。





                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值