Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. struct Response: Decodable {
  2. let events: [MeetingEvent]
  3. }
  4.  
  5. let json = """
  6. {"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}]}
  7. """
  8.  
  9. if let data = json.data(using: .utf8) {
  10. let response = try JSONDecoder().decode(Response.self, from: data)
  11. response.events.forEach { event in
  12. switch event.event {
  13. case let joined as JoinedEvent:
  14. print("Joined Event: \(joined.userDisplayName)")
  15. case let voted as PollVotedEvent:
  16. print("Voted Event: \(voted.thumbs)")
  17. default:
  18. print("Other event")
  19. }
  20. }
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement