为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

开满天机 2022-06-23 16:31:00
我正在编写一个 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 对象,反之亦然。


查看完整回答
反对 回复 2022-06-23
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

Java 不像 JavaScript 那样支持原生 JSON。您可以使用库(如 GSON)来帮助您,或者您可以使用 Java 方式进行操作,这将涉及使用比这更多的代码来构建它。

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



查看完整回答
反对 回复 2022-06-23
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信