Должны ли названия полей класса и названия типов класса, к которому я парсю Json, полностью соответствовать названию полей, содержащихся в Json? И какие еще есть моменты, которые могут нарушить валидность парсинга?
SignInResponse response = gson.fromJson(result, SignInResponse.class);
После этой попытки парсинга приложение просто вылетает.
По умолчанию должны совпадать, но Вы можете это поменять. Наиболее простой путь -- это применить общий шаблон именования для всех полей. Если Вы используете Gson, то за это отвечает енам FieldNamingPolicy. Используя FieldNamingPolicy Вы, например, можете нормально десериализовывать JSON с pascal-case полями в Java-объекты, у которых имена полей обычно в camel-case. Устанавливается FieldNamingPolicy примерно так:
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.create();
Загляните в документацию, там наверняка есть подходящая для вашего случая политика.
Если по какой-то причине у Вас в джсоне различный шаблон нейминга в одном объекте или какие-нибудь неприятные аббревиатуры, то можно использовать аннотации, которыми можно явно задать ключ, по которому данное поле доступно в JSON. В Gson это аннотация SerializedName (по ссылке есть простой пример использования).
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости