added the ability to parse a dictionary of custom objects from JSON