Nah*_*yan 1 json string-literals elm
我正在尝试解码包含转义双引号的字符串,例如"我说,"Hello \""
现在要在Elm中这样做,我可以使用Json.Decode作为解码:
Decode.decodeString Decode.string "\"I said, \"Hello\"\""
但是,这会导致解码器失败.有谁能解释为什么?我想知道如何在我的JSON字符串中使用双引号.
这不是有效的JSON字符串,因为您没有在JSON级别转义双引号,只能在语言级别转义.删除第一级转义码后,您的JSON字符串将如下所示:
"I said, "Hello""
Run Code Online (Sandbox Code Playgroud)
"Hello"之前的双引号结束字符串,因此错误消息显示为什么:
在位置10的JSON中出现意外的标记H.
您想要的JSON字符串是:
"I said, \"Hello\""
Run Code Online (Sandbox Code Playgroud)
要在Elm中将其作为字符串文字生成,您必须"双重转义"双引号,实际上这意味着在每个转义的双引号之前添加一个转义反斜杠:
Decode.decodeString Decode.string "\"I said, \\\"Hello\\\"\""
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |