我正在编写一个 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 回答
jeck猫
TA贡献1909条经验 获得超7个赞
您不能使用方括号声明变量,但是您可以使用带括号的 JSON 属性并使用@JsonProperty如下注释映射它
public Class PreferredAnswer {
@JsonProperty("answer[0]")
private String answer0;
@JsonProperty("answer[1]")
private String answer1;
}
注意:您需要为这些私有属性提供 setter/getter。
这会将您的 JSON 映射到 java 对象,反之亦然。
MMMHUHU
TA贡献1834条经验 获得超8个赞
Java 不像 JavaScript 那样支持原生 JSON。您可以使用库(如 GSON)来帮助您,或者您可以使用 Java 方式进行操作,这将涉及使用比这更多的代码来构建它。
但是 Java 并不像 JS 那样将 JSON 转换为对象。
添加回答
举报
0/150
提交
取消