
Hi, The "ContainerNetworkSettingsPorts" should actually be a "Data.Map String ContainerNetworkSettingsPort" data ContainerNetworkSettingsPort = ContainerNetworkSettingsPort { HostIp :: String, HostPort :: String } type ContainerNetworkSettingsPorts = Map String ContainerNetworkSettingsPort You can reuse instance FromJSON a => FromJSON (Map String a) Thanks, Yuras On Thu, 2013-11-14 at 11:22 +0100, hc@j4.pe wrote:
Hello everyone,
I'd use aeson to parse JSON. I did much of the translation JSon in Haskell data but I'm stuck on one point.
Suppose I have a JSon object that is in this form:
{\"Ports\":{\"22/tcp\":[{\"HostIp\":\"0.0.0.0\",\"HostPort\":\"49154\"}],\"80/tcp\":[{\"HostIp\":\"0.0.0.0\",\"HostPort\":\"49155\"}]}
I do not know how to "bind" the key name and value knowing that the key changes name "randomly". Example with port 21 and port 8888:
{\"Ports\":{\"21/tcp\":[{\"HostIp\":\"0.0.0.0\",\"HostPort\":\"49154\"}],\"8888/tcp\":[{\"HostIp\":\"0.0.0.0\",\"HostPort\":\"49155\"}]}}
All code : http://lpaste.net/95607
Thank you for your help. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe