Java 使用Jackson对有向图进行(反)序列化
我有以下三个类来表示有向图(对于有限状态机): 但当我想反序列化这个JSON时,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:
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"])