Dowolne klucze JSON z Aesonem - Haskellem
Mam kilka zagnieżdżonych obiektów JSON z dowolnymi kluczami.
{
"A": {
"B": {
"C": "hello"
}
}
}
GdzieA
, B
, C
są nieznane z wyprzedzeniem. Każdy z tych trzech może mieć rodzeństwo.
Zastanawiam się, czy istnieje sposób na przetworzenie tego w niestandardowy typ z Aesonem w jakiś elegancki sposób. To, co robiłem, to ładowanie go do AesonaObject
.
Jak poszedłbyś za implementacjąFromJSON
dla tego rodzaju obiektu JSON?
Dzięki!
Edytować:
{
"USA": {
"California": {
"San Francisco": "Some text"
}
},
"Canada": {
...
}
}
To powinno się skompilowaćCountryDatabase
gdzie...
type City = Map String String
type Country = Map String City
type CountryDatabase = Map String Country