2015-12-02 42 views
0

我必須下載並解析一個JSON文件到一個UITableView在雨燕2.0如何解析JSON成的UITableView

我真的不希望使用像SwiftyJSON第三方框架。

我得到了它與看起來有點像一個快捷文件的工作:

[ 
    { 
    "id": "1", 
    "title": "Test Shindig", 
    "dateOfEvent": "2015-12-25 00:00:00", 
    "totalGuests": 6 
    } 
] 

,所以我有字典的數組。

我掙扎的JSON是這個:

{ 
    "guests": [ 
    { 
    "id": "1", 
    "firstName": "Burp", 
    "lastName": "Derp", 
    }, 
    ], 
    "total": 6, 
    "totalCheckedIn": 1 
} 

所以,如果我沒有記錯這就是包含數組和2個整數的字典

無論我嘗試,我不能讓從我的API調用返回的任何內容。

也沒有辦法,我改變JSONs反正。

我希望有人能幫助我!

乾杯,尼克拉斯

回答

0

如果你不希望使用任何第三方的框架,你可以做手工的解析。最佳做法是建議爲Guest對象創建一個結構,併爲整個響應創建一個結構(GuestList)。

struct GuestList { 
    var guests: [Guest] 
    var total: Int 
    var totalCheckedIn: Int 

    init(data: [String: AnyObject]) { 
    total = data["total"] as! Int 
    totalCheckedIn = data["totalCheckedIn"] as! Int 
    let list = data["guests"] as! [AnyObject] 
    guests = [Guest]() 

    for guest: [String: AnyObject] in list { 
     guests.append(Guest(data: guest)) 
    } 
    } 
} 


struct Guest { 
    var id: Int 
    var firstName: String 
    var lastName: String 

    init(data: [String: AnyObject]) { 
    id = data["id"] as! Int 
    firstName = data["firstName"] as! String 
    lastName = data["lastName"] as! String 
    } 
} 

這是一個快速實施,很多!,所以你應該小心。這段代碼也沒有經過測試,但是它應該給你一個關於如何解析你的JSON響應的好主意。