J'ai une liste d'objets AESON comme celui-ciComment fusionner des objets Aeson?
[object ["key1" .= "value1"], object ["key2" .= "value2"]]
et je veux les fusionner en un seul objet Aeson comme celui-ci
object ["key1" .= "value1", "key2" .= "value2"]
Ceci est tout à fait standard lorsque vous travaillez avec des données JSON dans d'autres langues (opération de fusion) mais je ne vois rien de similaire dans la bibliothèque Aeson.
Suis-je manque juste quelque chose et cela peut-il être fait avec une fonction standard haskell? J'ai essayé d'utiliser sequence
mais il semble que JSON Value
n'est pas une monade donc je ne peux pas le faire.
Je ne ai pas besoin pour faire face à la fusion profonde ou dupliquer les clés, je veux juste générer quelque chose comme
{
"key1": value1,
"key2": value2
}
de
[{ "key1": value1 }, { "key2": value2 }]
Si vous avez des objets avec des types la 'Object' alors il est juste' HashMap', vous pouvez utiliser 'HashMap.union' , 'mappend',' (<>) 'etc. Mais si vous avez des objets avec les types' Value', comment voulez-vous les fusionner? Par exemple, vous avez une chaîne et un nombre, quel résultat doit être? – freestyle
Je veux juste le comportement 'unions '. Je veux une carte avec toutes les clés et leurs valeurs et si une clé est dupliquée je suis heureux de laisser le dernier écraser les autres. Essentiellement le même comportement que vous obtenez sur ruby lorsque vous faites 'hash1.merge (hash2)' – Batou99