我刚开始使用 Jackson JSON 解析器,我喜欢它,但我在尝试解析 JSON 对象时遇到了问题。
这是我当前的 java 代码:
public class resetPassword {
private String id;
private String key1;
private String key2;
public String getId() {
return id;
}
public void setId(String id) {
this.id= id;
}
public String getKey1() {
return key1;
}
public void setKey1(String key1) {
this.key1= key1;
}
public String getKey2() {
return key2;
}
public void setKey2(String key2) {
this.key2= key2;
}
}
我将如何在 Jackson 中解析这样的内容:
{
"1":{
"key1":"val",
"key2":"val"
},
"2":{
"key":"val",
"key":"val"
}, .. etc
}
我们将不胜感激任何帮助
最佳答案
根据评论中的信息,我猜你需要将遍历与数据绑定(bind)结合起来。
首先,使用 traversal , 获取带有 {"key1": ..., "key2": ...}
的 JsonNode
对象。
伪代码(未测试):
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(genreJson);
Iterator<String> fieldNames = root.fieldNames();
while (fieldNames.hasNext()) {
String fieldName = fieldNames.next();
JsonNode node = root.get(fieldName);
// now you should have {"key1": ...} in node
}
然后使用data binding对于您找到的每个节点:
ResetPassword item = mapper.readValue(node, ResetPassword.class);
关于java - 我应该如何在 Jackson JSON 中使用数字对象键解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759625/