如何在Haskell中为aeson对象的任何值生成随机值

时间:2019-09-06 18:29:17

标签: json haskell random aeson

几周前我已经开始编码Haskell。我正在尝试使用aeson做类似随机JSON生成器的事情。

假设我有一个像这样的json对象:

{
    name: "bob",
    age: 13,
    role: "admin"
}

当我使用aeson对其进行解码时,我得到了:

let Just json = decode str :: Maybe Object

-- fromList [("name",String "bob"),("age",Number 13.0),("role",String "admin")]

我想要的是基于bob“ model”生成JSON对象的列表:

[
 {
   name: <any random string>,
   age: <any random number>,
   role: <any random string>
 },
 ...
]

我知道我需要fmap来查看HashMap的值,但是我不知道如何根据其类型生成随机值。

我不担心JSON字段上可能出现的其他复杂值。我现在专注于数字和字符串。

0 个答案:

没有答案