import Foundation guard let data = NSData(contentsOfFile: "departments.json"), let jsonDictionary = try? NSJSONSerialization.JSONObjectWithData(data, options: []) else { print("Couldn't load JSON file") exit(1) } func parseMember(data: [String: AnyObject]) -> Member? { return makeMember <*> get(data, key: "member_id") <*> get(data, key: "name") } let department: String? = get(jsonDictionary) <~~ keyPath("response.result.department_name") let members = get(jsonDictionary) <~~ keyPath("response.result.members") <<~ parseMember print(department) print(members)