JSON

Through this form you can generate a schema from existing JSON data. It contains also a logic to detect objects of the same type. You should see this as a starting point since you need to add proper names to each type.