我正在編寫一個 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
提交
取消