Haskell 如何生成带缩进的 JSON?
打算把我定义的 data 转化为 JSON 打印出来, 原来在 JavaScript 是很方便的,
Haskell 里花了半天, 勉强用
Text.JSON
完成了, 但是做不出来缩进...
另外尝试了下 Aeson, 不知道怎么写, 模块的文档太让我难受了, 看不懂 >_<
可以给个明确的例子在 Haskell 当中生成出 JSON 来吗?
https://github.com/Cirru/parser.hs/blob/master/main.hs
haskell
import Cirru import Parser import Text.JSON name = "unfolding" fileName = "./cirru/" ++ name ++ ".cirru" getJSON :: CirruValue -> JSValue getJSON (CirruToken text _ _ _ _ _) = JSString (toJSString text) getJSON (CirruList list) = JSArray $ map getJSON list main :: IO() main = do code <- readFile fileName let json = encode $ getJSON $ resolveComma $ resolveDollar (parse code fileName) writeFile ("ast/" ++ name ++ ".json") json --putStrLn (show (parse code fileName))
V不尼塔尼亚
10 years, 1 month ago
Answers
不会 Haskell,顺手来转发搜索结果的…… https://hackage.haskell.org/package/json-0.4.2/docs/Text-JSON-Pretty.h...
可以 Google 搜索 "haskell json prettify print" 试试,还挺多搜索结果的....
hxktc
answered 10 years, 1 month ago