Могу ли я объявить переменную в квадратных скобках? - PullRequest
0 голосов
/ 16 февраля 2019

Я пишу POST API, где мне нужно сформировать полезную нагрузку как,

{
"questions":{
  "preferredAnswer":{
     answer[0]:"my first answer",
     answer[1]:"second answer"
  }
}

Это должно быть отображено как объект Java.Мои вопросы: есть ли способ, которым я могу сопоставить этот JSON с классом ниже?или Могу ли я объявить переменную ответов как String answer[0]; String answer[1]; (этот синтаксис недопустим)

public Class Questions {
  PreferredAnswer preferredAnswer;
}
public Class PreferredAnswer {
   String[] answers;
}

Как я могу отобразить JSON?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Невозможно объявить переменную в квадратных скобках, однако вы можете иметь свойство JSON с квадратными скобками и отобразить его, используя аннотацию @JsonProperty, как показано ниже

public Class PreferredAnswer {
   @JsonProperty("answer[0]") 
   private String answer0;

   @JsonProperty("answer[1]") 
   private String answer1;
}

Примечание: вам необходимо предоставить установщик / получательдля этих частных свойств.

Это отобразит ваш JSON в объект java и наоборот.

0 голосов
/ 16 февраля 2019

В Java нет встроенной поддержки JSON, как в JavaScript.Вы можете использовать библиотеки (например, GSON), чтобы помочь вам, или вы можете сделать это способом Java, что потребовало бы создания его с большим количеством кода, чем этот.

Но Java не конвертирует из JSON в объекты естественным образомJS делает.

...