英文:
How to make java POJO for this json?
问题
我对于在给定的 JSON 对象中,当键值为数字时如何创建一个 POJO(普通的 Java 对象)感到好奇。
{
"id": 1,
"options": {
"1": "a",
"2": "b",
"3": "c",
"4": "e"
}
}
正如您所看到的,"options" 中的键是数字值,然而在 Java 中变量名不能为数字。要将其转化为 Java POJO,您可以使用 @JsonProperty
注解来处理这种情况。以下是一个示例:
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Map;
public class MyPOJO {
private int id;
private Map<String, String> options;
@JsonProperty("id")
public int getId() {
return id;
}
@JsonProperty("id")
public void setId(int id) {
this.id = id;
}
@JsonProperty("options")
public Map<String, String> getOptions() {
return options;
}
@JsonProperty("options")
public void setOptions(Map<String, String> options) {
this.options = options;
}
}
在这个示例中,我们使用了 Jackson 库的 @JsonProperty
注解,将 JSON 中的键映射到 Java 类的字段或方法。这样您就可以在 Java 中表示这样的 JSON 结构,并且可以正常使用字段名为数字的键。
英文:
I'm curious about how to make a POJO when the key values are numeric as given in the given JSON object.
{
"id" : 1,
"options": {
"1": "a",
"2": "b",
"3": "c",
"4": "e"
}
}
as you can see options have numeric values as a key, so how to make java POJO out of it, as a variable name cannot be numeric.
答案1
得分: 0
使用类似以下的代码:
public class MyPojo {
private int id;
private Map<Integer, String> options;
}
英文:
Use something like this
public class MyPojo {
private int id;
private Map<Integer, String> options;
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论