猿问

我可以用方括号声明一个变量吗?

我正在编写一个 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?


开满天机
浏览 99回答 2
2回答

jeck猫

您不能使用方括号声明变量,但是您可以使用带括号的 JSON 属性并使用@JsonProperty如下注释映射它public Class PreferredAnswer {   @JsonProperty("answer[0]")    private String answer0;   @JsonProperty("answer[1]")    private String answer1;}注意:您需要为这些私有属性提供 setter/getter。这会将您的 JSON 映射到 java 对象,反之亦然。

MMMHUHU

Java 不像 JavaScript 那样支持原生 JSON。您可以使用库(如 GSON)来帮助您,或者您可以使用 Java 方式进行操作,这将涉及使用比这更多的代码来构建它。但是 Java 并不像 JS 那样将 JSON 转换为对象。
随时随地看视频慕课网APP

相关分类

Java
我要回答