Я пытаюсь проанализировать рекурсивные данные JSON, что-то вроде этого:
{
"node": "a",
"children": [
{
"node": "b",
"children": [
{
"node": "c",
"children": null
}
]
},
{
"node": "d",
"children": null
}
]
}
Теперь я хочу реализовать экземпляр FromJSON, чтобы я мог декодировать его в структуру данных следующим образом:
следующая структура данных
data Tree = Node { value :: Text, children :: [Tree]} | Nothing
Понятия не имею, как это сделать. Я видел только примеры того, как получать экземпляры для плоских (нерекурсивных) структур JSON с использованием Aeson.