Como lidar com NumberFormatException com Gson na desserialização de uma resposta JSON

Estou lendo uma resposta JSON com Gson, que retorna às vezes aNumberFormatException porque um esperadoint value é definido como uma sequência vazia. Agora estou me perguntando qual é a melhor maneira de lidar com esse tipo de exceção. Se o valor for uma sequência vazia, a desserialização deve ser 0.

Resposta JSON esperada:

{
   "name" : "Test1",
   "runtime" : 90
}

Mas, às vezes, o tempo de execução é uma string vazia:

{
   "name" : "Test2",
   "runtime" : ""
}

A classe java fica assim:

public class Foo
{
    private String name;
    private int runtime;
}

E a desserialização é esta:

String input = "{\n" +
               "   \"name\" : \"Test\",\n" +
               "   \"runtime\" : \"\"\n" +
               "}";

Gson gson = new Gson();
Foo foo = gson.fromJson(input, Foo.class);

Que lança umcom.google.gson.JsonSyntaxException: java.lang.NumberFormatException: empty String porque uma String vazia é retornada em vez de um valor in

Existe uma maneira de dizer ao Gson ",se você desserializar o camporuntime do tipoFoo e existe um NumberFormatException, basta retornar o valor padrão 0 "?

Minha solução alternativa é usar umString como o tipo deruntime campo em vez deint, mas talvez haja uma maneira melhor de lidar com esses erro

questionAnswers(7)

yourAnswerToTheQuestion