Mam wiele zagnieżdżonych obiektów JSON z dowolnymi kluczami.Arbitralne klucze JSON z Aesonem - Haskell
{
"A": {
"B": {
"C": "hello"
}
}
}
Gdzie A
, B
, C
nie są znane z wyprzedzeniem. Każdy z tych trzech może mieć także rodzeństwo.
Zastanawiam się, czy istnieje sposób na sparsowanie tego w niestandardowy typ z Aeson w eleganckim sposobem. To, co robiłem, to ładowanie go do Aesona Object
.
Jak byś poszła na temat implementacji FromJSON
dla tego rodzaju obiektu JSON ?
Dzięki!
Edit:
{
"USA": {
"California": {
"San Francisco": "Some text"
}
},
"Canada": {
...
}
}
ten powinien skompilować do CountryDatabase
Gdzie ...
type City = Map String String
type Country = Map String City
type CountryDatabase = Map String Country
To nie jest do końca jasne * jak * chciałbyś przetworzyć ten JSON. Czy zawsze ma tylko 3 klucze zagnieżdżone, a następnie ciąg? –
Czy możesz podać przykład niestandardowego typu, który chcesz przeanalizować? Myślę, że to wyjaśniłoby to pytanie. –
Pytanie zaktualizowane o bardziej konkretny przykład struktur danych. –