Произвольные ключи JSON с Aeson - Haskell
У меня есть куча вложенных объектов JSON с произвольными ключами.
{
"A": {
"B": {
"C": "hello"
}
}
}
Куда , ,A
B
C
неизвестны раньше времени. У каждого из этих троих тоже могут быть братья и сестры.
Интересно, есть ли способ разобрать это в пользовательский тип с Aeson каким-то элегантным способом? То, что я делал, загружает это в Эзона.Object
Как бы вы пошли о реализацииFromJSON
для этого вида объекта JSON?
Спасибо!
Редактировать:
{
"USA": {
"California": {
"San Francisco": "Some text"
}
},
"Canada": {
...
}
}
Это должно компилироваться вCountryDatabase
где...
type City = Map String String
type Country = Map String City
type CountryDatabase = Map String Country