1. A system for automatically generating a JSON schema from a JSON stream, including a computer including one or more microprocessors; a software application executing on the computer, wherein the software application includes a plurality of data type parsers, a factory class, a plurality of record schema generation logic components, and a record schema concatenator; wherein when receiving a JSON stream, the software application operates to determine a data type of each record in the JSON stream, determine a data type of each element of a plurality of elements in the record, use the factory class to select, from the plurality of data type parsers, a particular data type parser to generate a schema node for each of the plurality of elements in the record, select, based on the determined data type of the record, a corresponding record schema generation logic component to combine each schema node to generate a record schema for that record, and use the record schema concatenator to join each record schema to create a schema for the JSON stream.