Java 使用Jackson对有向图进行(反)序列化

Java 使用Jackson对有向图进行(反)序列化,java,json,serialization,jackson,finite-automata,Java,Json,Serialization,Jackson,Finite Automata,我有以下三个类来表示有向图(对于有限状态机): 但当我想反序列化这个JSON时,Jackson给了我一个错误: com.fasterxml.jackson.databind.JsonMappingException: Could not resolve Object Id [Z0] (for [simple type, class graph.Node]) -- unresolved forward-reference? (through reference chain:

我有以下三个类来表示有向图(对于有限状态机):

但当我想反序列化这个JSON时,Jackson给了我一个错误:

com.fasterxml.jackson.databind.JsonMappingException: Could not resolve Object Id
    [Z0] (for [simple type, class graph.Node]) -- 
    unresolved forward-reference? (through reference chain: 
    graph.Node["edges"]->graph.Node["edges"])

我可以从中看出,节点Z0无法被引用,因为它仍在“构建中”,所以我如何告诉Jackson它必须先构建节点,然后在边缘添加引用?

?我也发现了该线程,但它没有回答我的问题:/
{
  "nodes" : [ {
    "name" : "Z1",
    "edges" : [ {
      "name" : "0",
      "successor" : {
        "name" : "Z0",
        "edges" : [ {
          "name" : "0",
          "successor" : "Z0"
        }, {
          "name" : "1",
          "successor" : "Z1"
        } ]
      }
    }, {
      "name" : "1",
      "successor" : "Z1"
    } ]
  }, "Z0" ]
}
com.fasterxml.jackson.databind.JsonMappingException: Could not resolve Object Id
    [Z0] (for [simple type, class graph.Node]) -- 
    unresolved forward-reference? (through reference chain: 
    graph.Node["edges"]->graph.Node["edges"])