服务器返回数据解析(json,plist)

//
//  ViewController.swift
//  数据解析-json
//
//  Created by admin on 16/2/25.
//  Copyright © 2016年 jin. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.plistDecodeC()
        // Do any additional setup after loading the view, typically from a nib.
    }
    func plistDecodeC()
    {
        // url
        let url = NSURL(string: "http://test.com/plist")
        // 请求
        let request = NSURLRequest(URL: url!)
        // 发送请求
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue()) { (responce:NSURLResponse?, data:NSData?, error:NSError?) -> Void in
            // 转换后使用
            let plist:AnyObject? = NSPropertyListSerialization.propertyListFromData(data!, mutabilityOption: NSPropertyListMutabilityOptions.MutableContainers, format: nil, errorDescription: nil)
            // 使用
            print(plist)
            print(plist?.valueForKey("CFBundleDevelopmentRegion"))
            print(plist?.valueForKey("NSAppTransportSecurity"))
        }
    }
    /**
     {
     "statuses": [
     "3382905382185354",
     "3382905252160340",
     "3382905235630562",
     ],
     "previous_cursor": 0,
     "next_cursor": 0,
     "total_number": 16
     }
     */
    func jsonDecodeB()
    {
        // url
        let url = NSURL(string: "http://test.com/jsonA")
        // 请求
        let request = NSURLRequest(URL: url!)
        // 发送请求
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue()) { (responce:NSURLResponse?, data:NSData?, error:NSError?) -> Void in
            // 转换后使用
            let json:AnyObject? = JSONDecoder().objectWithData(data!)
            // 全部都是nil。。。。
            print(json)
            print(json?.valueForKey("statuses"))
            print(json?.valueForKey("next_cursor"))
        }
    }
    func jsonDecodeA()
    {
        // url
        let url = NSURL(string: "http://test.com/jsonA")
        // 请求
        let request = NSURLRequest(URL: url!)
        // 发送请求
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue()) { (responce:NSURLResponse?, data:NSData?, error:NSError?) -> Void in
            // 转换后使用
            let json:AnyObject? = try? NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)
            // 取出使用,都是可选类型,有点蛋疼啊
            print(json?.valueForKey("statuses"))
            print(json?.valueForKey("next_cursor"))
        }
    }
}

标签: swift, json

添加新评论