使用 Haskell Aeson 遍历 Json

问题描述

我有一些 Json,我想从中生成 Java DAO,并希望使用 Aeson 库来实现。我已经使用 json 模块在 Python 中完成了它,如下所示(代码段/伪):

j = json.loads(jsonStr)
def ob(j):
  while (len(j) != 0):
    k,v = j.popitem()
    if type(v) is 'dict':
      ob(v) # then do more stuff
    elif type(v) is 'list':
      arr(v) # then do more stuff
    # etc etc

在 Aeson 中,我似乎可以像 decode "{\"name\":\"Dave\",\"age\":2}" :: Maybe Object 一样“加载”上面的 json(来自包页面的示例),但从那里我不明白该怎么做,我看到的所有示例似乎都涉及编写数据类,在我的情况下这会破坏目的。

我可以使用 fromJust :: Maybe a -> 获得 fromList [("age",Number 2.0),("name",String "Dave")] :: Object,但从那里我一无所知。如果它是一个地图(从列表看起来像)我会做 keys 然后开始遍历,但它不是地图。

感谢您的指点。我想不一定是 Aeson,只是看起来像一个常用的库。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)