Ho un gruppo di oggetti JSON nidificati con chiavi arbitrarie.Chiavi JSON arbitrarie con Aeson - Haskell
{
"A": {
"B": {
"C": "hello"
}
}
}
Dove A
, B
, C
sono sconosciuti prima del tempo. Ognuno di questi tre potrebbe anche avere fratelli.
Mi chiedo se c'è un modo per analizzare questo in un tipo personalizzato con Aeson in un modo elegante. Quello che ho fatto è caricarlo in un Aeson Object
.
Come procedere all'implementazione di FromJSON
per questo tipo di oggetto JSON ?
Grazie!
Edit:
{
"USA": {
"California": {
"San Francisco": "Some text"
}
},
"Canada": {
...
}
}
Questo dovrebbe compilare in CountryDatabase
dove ...
type City = Map String String
type Country = Map String City
type CountryDatabase = Map String Country
Non è molto chiaro * come * vorresti analizzare questo JSON. Ha sempre solo 3 chiavi annidate e quindi la stringa? –
Puoi fornire un esempio del tipo personalizzato in cui desideri analizzare? Penso che chiarirei la domanda. –
Domanda aggiornata con un esempio più concreto delle strutture dati. –