当我以这种方式进行模式匹配时:
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值。但我不希望它用双引号打印。我如何摆脱它们?
答案 0 :(得分:4)
case HashMap.lookup "abc" jsn of
Just (String val) -> putStrLn val
print
仅为putStrLn . show
,当您show
为字符串时,它会获得引号。 show
将内容转换为字符串,因此您只需将字符串直接传递给putStrLn
。