1. A method comprising: storing a plurality of parser definitions, wherein each parser definition is associated with an object type, wherein a particular parser definition of the one or more parser definitions comprises two or more parser sub-definitions, wherein a first parser sub-definition of the two or more parser sub-definitions is associated with a first property type, and wherein a second parser sub-definition of the two or more parser sub-definitions is associated with a second property type; storing a first validator for the first property type and a second validator for the second property type, the first validator defining valid data for the first property type and the second validator defining valid data for the second property type; determining whether input data matches the particular parser definition; based at least in part on determining that the input data matches the particular parser definition: creating at least a first property instance of the first property type and a second property instance of the second property type; storing first data corresponding to a first portion of the input data in the first property instance when the first data matches the first validator; wherein the method is performed by one or more computing devices.