java - java中使用jackson注解反序列化字符串和对象

标签 java json jackson

我当前的 json 文件如下所示:

{
  "root": {
    "node1a":[
    ],
    "node1b":[
      "foo",
      "bar"
    ]
  }
}

jackson 反序列化:

@JsonCreator
class DeserializationClass{

    Map<String, List<String>> nodes;

    DeserializationClass(@JsonProperty("root") final Map<String, List<String>> nodes) {
        this.nodes = nodes;
    }
}

但是,我想转移到诸如

之类的结构
{
  "root": {
    "node1a":[
    ],
    "node1b":[
      "foo",
      "bar",
      {
        "key1":"value",
        "key2":"value"
      }
    ]
  }
}

是否可以通过替换使用注释来反序列化:

Map<String, List<String>> 

Map<String, List<AnotherClass>>?

最佳答案

您的node1b现在是对象的混合数组,因此除非您要实现完整的自定义反序列化器,否则您可以获得的最好的结果是 List<Object> ,其中一些对象将是 Map s。

关于java - java中使用jackson注解反序列化字符串和对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56084210/

相关文章:

java - "is unique"Eclipse UML 代表什么?

java - 使用 jackson 从改造中反序列化 json,其中相同的变量名可以代表两个不同的对象

java - NoClassDefFound错误: org/codehaus/stax2/ri/Stax2WriterAdapter using jackson

Java native 进程超时

Java 抛出 InputMismatchException

javascript - 如何解析其中对象不是逗号分隔的 JSON 字符串?

java - 来自 SQL View 的嵌套 JSON 响应

java - 对象所有字段的 JsonView 注解

java - Selenium Webdriver 循环

json - Grails REST API - 使用分页、元数据和来自参数的自定义包含字段渲染 JSON