Проблема с использованием Jackson для анализа JSON-файла, содержащего переменную, которая равна ключевому слову "final" в java - PullRequest
1 голос
/ 04 мая 2019

Я использую Джексон для анализа файлов JSON для объектов Java. Это требует от меня создания объектов Java, соответствующих файлам JSON. Однако в настоящее время у меня есть файл json, который выглядит следующим образом:

{
  "name": "myName",
  "final": "whatever"
}

Обычно я создаю соответствующий класс в Java:

class MyClass {
    String name;
    String final;
}

Однако проблема здесь в том, что 'final' является ключевым словом java и не может использоваться в качестве имени переменной Java. Каков наилучший способ решить эту проблему (избегая ручного разбора, поскольку вышеприведенное является просто упрощенной версией реальной ситуации).

1 Ответ

3 голосов
/ 05 мая 2019

Вы можете использовать аннотацию @ JsonProperty , чтобы сообщить Джексону, как сериализовать / десериализовать ваши пользовательские поля.final - это специальное ключевое слово в Java, поэтому вы можете использовать это поле аннотации и имени независимо от того, что действительно:

class MyClass {

    String name;

    @JsonProperty("final")
    String someName;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...