Java JAXB Moxy JSON封送对象中的动态节点
我试图找出如何封送一个对象,其中一个节点是动态的,并且是根据另一个节点的值确定的。我已经阅读了XMLAdapters和使用动态上下文和实体的相关知识。但我还是很困惑 我的JSON中的一个字段将更改,数据和该字段的名称。比如说Java JAXB Moxy JSON封送对象中的动态节点,java,json,jaxb,moxy,Java,Json,Jaxb,Moxy,我试图找出如何封送一个对象,其中一个节点是动态的,并且是根据另一个节点的值确定的。我已经阅读了XMLAdapters和使用动态上下文和实体的相关知识。但我还是很困惑 我的JSON中的一个字段将更改,数据和该字段的名称。比如说 { "object1": "object1Value", "subject": "test", "DynamicName": [ { &quo
{
"object1": "object1Value",
"subject": "test",
"DynamicName": [
{
"DynamicObject1Field": "DynamicObject1Value"
},
{
"DynamicObject2Field": "DynamicObject2Value"
}
]
}
DynamicName将更改,DynamicObject也将更改。但是,在列表中会存储相同的对象
为了改变动态对象,我打算在根对象上使用一个XmlAdapter。同样,根据主题字段的值,将确定将使用哪个DynamicName以及使用哪个DynamicObject填充json的其余部分
有关于如何做到这一点的例子吗?另外,我不想使用xsd文件。我在很多例子中都看到了这一点。即使尝试定义ObjectGraph。不确定是否为时已晚,但您是否尝试过使用
JsonParser
从Jackson
读取JSON
?在这里,您可以基于令牌读取JSON,并在每个阶段获取值。在您的情况下,您可以获得subject
键后的值,然后检查该值,并根据该值继续执行其他过程。我在下面提供的链接中做了类似的事情。我正在检查eventType
,根据它调用不同的参与方,然后使用这些类进行编组: