如何连接字符串和变量,以便转义变量中的引号?

时间:2016-04-25 17:36:09

标签: purescript

我正在使用readJSON,如果出错,则会产生Left err。有时这个错误(一个字符串)包含引号,e。 G。 ReferenceError: "JSON" is not defined.我需要返回包含在JSON字符串中的此错误,有点像

Left err -> "{ \"error\" : \"The error is: " ++ (show err) ++ "\" }"

(需要show,因为我们处于失败的monad中。)

但是当err有引号时,如上例所示,这会将JSON分开。如何使这个工作?

(在PSCI中,show似乎可以很好地逃避事情,例如show "\"foo\""会产生\的烟花。但是在上面的函数中,不是吗?)

2 个答案:

答案 0 :(得分:3)

您最好在此处使用purescript-argonaut而不是purescript-foreign作为用例。如果您show是一个argonaut JSON值,它将使用JSON.stringify来生成该值。

答案 1 :(得分:0)

“轻量级”方式是调用Global.Unsafe.unsafeStringify,它只是对JSON.stringify的FFI调用。如果发生这种情况,你会更好地使用Argonaut,就像@gb所说的那样。