在 Haskell 这种追求极致类型安全的函数式语言中,编写 data 类型定义及配套的 FromJSON / ToJSON 实例(通常使用 Aeson 库)往往涉及大量的模板代码。本工具能一键将 JSON 示例数据 转换为严谨的 Haskell 数据类型,并自动生成符合 Aeson 规范的编解码逻辑。
data 类型,确保在编译期即可拦截数据结构错误。GHC.Generics 的 Aeson 实例,消除手动编写解析逻辑的繁琐。Aeson 处理嵌套对象及数组映射。本站工具深度适配了现代 Haskell 的语法规范与生态习惯:
String (Text), Int/Integer (Number), Double (Float), 以及 Bool (Boolean)。null 或可选字段,自动包装为 Maybe T,体现 Haskell 对副作用的严格控制。[T] (List) 或 Vector T。deriving (Show, Generic),并生成 instance FromJSON 与 instance ToJSON。fieldLabelModifier 配置模板。Record 语法结构。data 类型定义,便于模块化复用。User 或 ApiResponse)。Text 代替 String(现代 Haskell 推荐)。.hs 源代码文件中。原始 JSON:
{
"id": 101,
"name": "Haskeller",
"is_active": true,
"tags": ["functional", "safe"]
}
生成的 Haskell 代码 (本站处理):
{-# LANGUAGE DeriveGeneric #-}
import GHC.Generics
import Data.Aeson
import Data.Text (Text)
data User = User
{ id :: Int
, name :: Text
, isActive :: Bool
, tags :: [Text]
} deriving (Show, Generic)
instance FromJSON User
instance ToJSON User
deriving 逻辑,让您专注于核心业务函数的编写。