I get a json that has \"field\" field. If the \"field\" has data, then there is an OBJECT that has many (about 20) other fields that are also objects. I can deserialize
Try using GSON >= 2.2.1 and look for the TypeAdapterFactory class.
This will give you the ability to inspect the Object before you deserialize it and apply custom code while avoiding recursions.
Here is an example of the getDelegateAdapter you can use.