美文网首页
SwiftyJson

SwiftyJson

作者: 白色天空729 | 来源:发表于2019-02-15 15:46 被阅读5次

参考链接:
https://blog.csdn.net/minggeqingchun/article/details/54376718d

SwiftyJSONTests.json 文件

{
    "resultCode": 100,
    "resultMessage": "获取成功",
    "result": [{
        "orderColumn": "",
        "orderTurn": "ASC",
        "page": "",
        "pageSize": "",
        "params": "",
        "rowId": "",
        "curUserid": "56fe703ea3d045b4abe6a067458b535e",
        "flowBizIds": "",
        "actId": "",
        "actName": "",
        "actType": "",
        "arrivalTime": 1550199407000,
        "assignee": "",
        "bak1": "",
        "bak2": "",
        "bak3": "",
        "bak4": "",
        "bak5": "",
        "bizCode": "7016",
        "bizId": "95f424bf71dd46c1979046c6bfcdfa96",
        "bizName": "邀请会诊申请",
        "bizNum": "",
        "callProcInstId": "",
        "curStep": "科主任",
        "curUser": "杨胜生",
        "deptId": "30a1f11ef1154be0a14abdb7248b8750",
        "deptName": "心胸外科",
        "duration": "",
        "endTime": "",
        "executionId": "",
        "flowBizId": "1930c1c62bb54b3b83071b6a4a3d0a34",
        "flowId": "oa_fzzyy_yqhz:1:96735",
        "flowInstId": "102253",
        "flowName": "邀请会诊申请",
        "flowStatus": "",
        "flowUrl": "/fzzyy/oa/consultationreport/flowedit.zul",
        "isLock": "",
        "namePym": "xxwkys",
        "procDefId": "",
        "procInstId": "",
        "showTitle": "",
        "startTime": "",
        "submitTime": 1550199407000,
        "submitTitle": "心胸外科医生发起的邀请外院专家来院会诊(手术)申请",
        "submitUser": "4f645477eb8c4519b27d14e8cf409ce3",
        "submitUserName": "心胸外科医生",
        "taskId": "102258",
        "taskKey": "kzr_setp",
        "tenantId": "",
        "userId": "4f645477eb8c4519b27d14e8cf409ce3",
        "userName": "心胸外科医生",
        "viewUrl": ""
    }, {
        "orderColumn": "",
        "orderTurn": "ASC",
        "page": "",
        "pageSize": "",
        "params": "",
        "rowId": "",
        "curUserid": "4d7449d71ef74f0593d7a959a832e9a4",
        "flowBizIds": "",
        "actId": "",
        "actName": "",
        "actType": "",
        "arrivalTime": 1550116519000,
        "assignee": "",
        "bak1": "",
        "bak2": "",
        "bak3": "",
        "bak4": "",
        "bak5": "",
        "bizCode": "7015",
        "bizId": "587af34c85e149658ad26df81fe47e59",
        "bizName": "重大手术申请",
        "bizNum": "",
        "callProcInstId": "",
        "curStep": "科主任",
        "curUser": "王烈",
        "deptId": "9ce52d40e0d14679b3ce5cf516a656f9",
        "deptName": "普通外科",
        "duration": "",
        "endTime": "",
        "executionId": "",
        "flowBizId": "388b155342ec4ddf80843e13d088511a",
        "flowId": "oa_fzzyy_zdss:3:95725",
        "flowInstId": "102245",
        "flowName": "重大手术申请",
        "flowStatus": "",
        "flowUrl": "/fzzyy/oa/surgicalreport/flowedit.zul",
        "isLock": "",
        "namePym": "ptwkys",
        "procDefId": "",
        "procInstId": "",
        "showTitle": "",
        "startTime": "",
        "submitTime": 1550116519000,
        "submitTitle": "普通外科医生发起的重大手术申请流程",
        "submitUser": "34e129abe20249d99300c5505be6d5bc",
        "submitUserName": "普通外科医生",
        "taskId": "102250",
        "taskKey": "kzr_setp",
        "tenantId": "",
        "userId": "34e129abe20249d99300c5505be6d5bc",
        "userName": "普通外科医生",
        "viewUrl": ""
    }]
}

import UIKit
import HandyJSON
import SwiftyJSON

class HandyJsonVC: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
        
        testJosn()
    }
    
    func testJosn() -> Void {

        var jsonData: Data?
        
        if let file = Bundle.main.path(forResource: "SwiftyJSONTests", ofType: "json") {
            jsonData = try? Data(contentsOf: URL(fileURLWithPath: file))
        } else {
            print("Fail")
        }
        
        
        do {
            let jsonObject = try JSONSerialization.jsonObject(with: jsonData!, options: .allowFragments)
            //            print(jsonObject)
            let jsonString = String(data: jsonData!, encoding: .utf8)
            
            let json1 = try JSON(data: jsonData!)
            
//            let jsonData = JSON(json1[0]["user"])
//            let model = Object1.init(jsonData)
            // 会得到创建好的 BuildBaseInfoModel类型的 对象model
            // 也可以这样写
        
            for (index,item) in json1["result"].arrayObject?.enumerated() ?? [].enumerated() {
                let jsonData = JSON(item)
                let model = GetFlowTodoExt.init(jsonData)
                
                print(model)
            }

        } catch {
            //            print(error.localizedDescription)
        }
    }

}

struct Object1 {
    var coordinates : String?
    var truncated : Bool?
    var favorited : String?
    var id_str : String?
    var in_reply_to_user_id_str : String?
    
    init(_ jsonData : JSON) {
        coordinates = jsonData["coordinates"].stringValue
        truncated = jsonData["truncated"].boolValue
        favorited = jsonData["favorited"].stringValue
        id_str = jsonData["id_str"].stringValue
        in_reply_to_user_id_str = jsonData["in_reply_to_user_id_str"].stringValue
    }
    
}

struct GetFlowTodoExt {
    var flowBizId : String?
    var flowId : String?
    var flowInstId : String?
    var flowName : String?
    
    init(_ jsonData : JSON) {
        flowBizId = jsonData["flowBizId"].stringValue
        flowId = jsonData["flowId"].stringValue
        flowInstId = jsonData["flowInstId"].stringValue
        flowName = jsonData["flowName"].stringValue
    }
}

相关文章

网友评论

      本文标题:SwiftyJson

      本文链接:https://www.haomeiwen.com/subject/qpfmeqtx.html