转换JSON中的动态密钥字段
这是我的JSON结构,有n记录具有 name
作为ID代表
{"Kids":
{"Jack":{"age":10}
,"Jane":{"age":9}
, .......
}
}
Haskell问题中的
data Kid = Kid { name::String, age::Int}
instance FromJSON Kid where
parseJSON (Object v) =
....
儿童的ID ,如何制作键( name
)作为构造函数的一部分?预期的输出签名就像:
decode "input json string" -> [Kid]
当调用预期解码函数时,它将返回类型 kid
的 list
。感谢您阅读此&感谢任何帮助。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过使用 函数,您可以访问
对象
实际上是keymap
您可以像从eg中一样操纵类似于通常的map
容器
。如果您正在使用较旧的aeson
版本,object
将是hashmap
,因此您也可以使用它。编辑:我记得
MAP
本身也具有fromjson
,因此您可以将其用于较短的“解决方案”:旧的“解决方案”,该操作会操纵它们
keymap
By using the
withObject
function, you get access to anObject
which is actually aKeyMap
which you can manipulate much like the usualMap
from e.g.containers
. If you're on an olderaeson
version,Object
will instead be aHashMap
, so you can use that as well.EDIT: I remember that
Map
itself also has aFromJSON
, so you can probably use that instead for a shorter "solution":Old "solution", which manipulates they
KeyMap