Swift Json解析


Swift Json解析

 

本文問了兩種方式解析Json數據:

          1.原生方法解析

          2.第三方SwiftyJson解析

 

1.首先定義Json數據

[
    {
        "name":"小炮",
        "age":"21"
    },
    {
        "name":"大頭",
        "age":"21"
    }
]

 

2.實現

import UIKit
import SwiftyJSON

class ViewController: UIViewController{
    override func viewDidLoad() {
        //json字符串
        let jsonStr = "[{\"name\":\"小炮\",\"age\":21},{\"name\":\"大頭\",\"age\":21}]"
        //轉data
        if let jsonData = jsonStr.data(using: .utf8){
            //一:原生解析方法
            //獲取需要的內容,需要考慮數據是否存在,是否拆包
            let dicArr = try! JSONSerialization.jsonObject(with: jsonData, options: .allowFragments) as! [[String:AnyObject]]
            print("打印所有數據:\(dicArr)")
            let name = dicArr[0]["name"] as! String
            print("原生獲取name \(name)")
            
            //二:第三方SwiftyJSON解析,不許考慮拆包
            let json = JSON(jsonData)
            print("SwiftyJSON打印所有數據:\(json)")
            if let sName = json[0]["name"].string{
                print("SwiftyJSON獲取name \(sName)")
            }
        }
    }
}

 

3.結果

 

4. Model的創建,傳入字典

class model :NSObject {
    var name:String=""
    var age:Int=0
    //自定義構造函數
    init(dic:[String:AnyObject]) {
        super.init()
        //模型一鍵賦值這個其實是運用了kvc的原理
        self.setValuesForKeys(dic)
    }

  //如果字典里面的key在model里沒有的話,不用此方法則會報錯   
    override func setValue(_ value: Any?, forUndefinedKey key: String) {
        
    }
}    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM