¿Es posible deserializar los nombres de propiedad JSON con puntos como un objeto anidado utilizando GSON?

Este es un ejemplo del tipo JSON que estoy tratando de consumir usando GSON:

{
    "person": {
        "name": "Philip"
        "father.name": "Yancy"
    }
}

Me preguntaba si sería posible deserializar este JSON en la siguiente estructura:

public class Person
{
    private String name;
    private Father father; 
}

public class Father
{
    private String name;
}

Así que eso:

p.name == "Philip"
p.father.name == "Yancy"

Actualmente estoy usando@SerializedName para obtener nombres de propiedades que contengan un período, por ejemplo:

public class Person
{
    private String name;

    @SerializedName("father.name")
    private String fathersName; 
}

Sin embargo, eso no es lo ideal.

Al mirar la documentación, no parece ser posible de inmediato, pero es posible que haya pasado algo por alto: soy nuevo en usar GSON.

Desafortunadamente, no puedo cambiar el JSON que estoy consumiendo y me resisto a cambiar a otra biblioteca de análisis JSON.

Respuestas a la pregunta(2)

Su respuesta a la pregunta