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

时间:2019-02-15 22:02:38

标签: java json rest api-design objectmapper

我正在编写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 :(得分:0)

您不能使用方括号声明变量,但是可以将JSON属性放在方括号中,并使用data注释将其映射如下

@JsonProperty

注意:您需要为这些私有属性提供设置器/获取器。

这会将您的JSON映射到Java对象,反之亦然。

答案 1 :(得分:-1)

Java不像JavaScript那样支持本机JSON。您可以使用库(例如GSON)来帮助您,也可以以Java的方式来完成它,这将涉及使用比这更多的代码来构建它。

但是Java不能像JS那样将JSON本身转换为对象。