打印时摆脱JSON的双引号

时间:2014-06-29 16:38:54

标签: haskell

当我以这种方式进行模式匹配时:

case HashMap.lookup "abc" jsn of
  Just (Number n) -> putStrLn $ show n

它被打印为123.45(没有双引号)这就是我想要的。当我这样做时:

case HashMap.lookup "abc" jsn of
  Just (String val) -> print val

它将其打印为“123.45”(带双引号)。在第二种情况下,我必须对String进行模式匹配,因为它是 JSON中的String值。但我不希望它用双引号打印。我如何摆脱它们?

1 个答案:

答案 0 :(得分:4)

case HashMap.lookup "abc" jsn of
  Just (String val) -> putStrLn val

print仅为putStrLn . show,当您show为字符串时,它会获得引号。 show将内容转换为字符串,因此您只需将字符串直接传递给putStrLn