Я хочу написать код в JAVA, используя JACKSON, который позволяет отображать высокую иерархию в JSON, как в следующем фрагменте.Кроме того, иерархия должна быть структурирована таким образом, чтобы результирующее приложение json зависело от условий «validFrom» и «validTo».
В приведенном ниже примере все даты для «validFrom» и «validTo» совпадаютно на практике даты могут различаться, т. е. каждый дочерний элемент может иметь несколько различных периодов действия:
Например, возможные даты для "DE":
"validFrom": ["2000-01-31"," 1995-01-31 "]
" validTo ": [" 2099-01-31 "," 2000-01-30 "]
Итак, для комбинации"validFrom "=" 1995-01-31 "и" validTo "=" 2000-01-30 "дочерний элемент" DE "гипотетически должен принадлежать родительскому элементу" Z9 "(не видно в примере json, представленном ниже!), но длясочетание «validFrom» = «2000-01-31» и «validTo» = «2099-01-31» должно принадлежать родительскому элементу «U6» (как в примере с json ниже).
Т.е. в зависимости от атрибутов «validFrom» и «validTo» дочерний элемент может принадлежать либо одному родительскому, либо другому родительскому элементу (в приведенном ниже примере «DE» принадлежит только родительскому «U6», но вопрос заключается в реализациитакие условия в Java-код таким образом, что существует возможность дифференциации).На одном уровне иерархии дочерний элемент должен принадлежать только одному родителю.
Как должен выглядеть код в java для написания этой структуры в json с использованием jackson?
{
"HierarchicalCode":[
{
"code": "A1",
"description": "Welt",
"validFrom": "2000-01-31",
"validTo": "2099-01-31",
"children":[
{
"code": "U6",
"description": "Inland",
"validFrom": "2000-01-31",
"validTo": "2099-01-31",
"children":[
{
"code": "DE",
"description": "Deutschland",
"validFrom": "2000-01-31",
"validTo": "2099-01-31"
}
]
},
{
"code": "Z9",
"description": "Ausland",
"validFrom": "2000-01-31",
"validTo": "2099-01-31"
}
]
}
]
}