Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Response: Decodable {
- let events: [MeetingEvent]
- }
- let json = """
- {"events":[{"type":"user-joined","eventId":"0","userId":"1","timestamp":1562458678387,"userDisplayName":"321"},{"type":"user-joined","eventId":"1","userId":"2","timestamp":1562458678387,"userDisplayName":"1233"},{"type":"hand-up","eventId":"2","userId":"1","timestamp":1562458678387},{"type":"poll-created","eventId":"3","userId":"1","timestamp":0,"pollId":"1"},{"type":"poll-voted","eventId":"4","userId":"2","timestamp":0,"pollId":"1","thumbs":"down"},{"type":"poll-closed","eventId":"5","userId":"1","timestamp":0,"pollId":"1","results":{"thumbsUp":0,"thumbsDown":1}},{"type":"hand-up","eventId":"6","userId":"2","timestamp":1562458678387},{"type":"hand-down","eventId":"7","userId":"1","timestamp":1562458678387},{"type":"poll-created","eventId":"8","userId":"2","timestamp":0,"pollId":"2"},{"type":"poll-voted","eventId":"9","userId":"1","timestamp":0,"pollId":"2","thumbs":"down"},{"type":"poll-closed","eventId":"10","userId":"2","timestamp":0,"pollId":"2","results":{"thumbsUp":0,"thumbsDown":1}},{"type":"user-left","eventId":"11","userId":"1","timestamp":1562458678387},{"type":"user-joined","eventId":"12","userId":"3","timestamp":1562458678387,"userDisplayName":"321"},{"type":"hand-up","eventId":"13","userId":"3","timestamp":1562458678387}]}
- """
- if let data = json.data(using: .utf8) {
- let response = try JSONDecoder().decode(Response.self, from: data)
- response.events.forEach { event in
- switch event.event {
- case let joined as JoinedEvent:
- print("Joined Event: \(joined.userDisplayName)")
- case let voted as PollVotedEvent:
- print("Voted Event: \(voted.thumbs)")
- default:
- print("Other event")
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement