如何在JSON中转义特殊字符

我们为科学应用程序提供了一个带有较长段落的表格,其中包含诸如符号beta(ß-arrestin)等字符。我们在Mule上运行一个JSON服务,该服务获取数据并持久保存到oracle数据库中。这个带有长段的特殊元素给我RAML

/ JSON错误。下面是错误

com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 9)): has to be escaped using backslash to be included in string value

科学家写下的形式元素我们无法控制。因此,在M子方面,我们如何像Java具有URLEncoded一样自动地转义这些字符。非常感谢

回答:

在您的情况下,看来输入数据格式不正确。它必须采用JSON规范支持的编码:UTF-8(默认),UTF-16或UTF-32。因此,不确定以下内容是否适用。不过…

对于大多数应用程序,我建议使用JSON到Object的映射,这将避免转义。否则,您可以直接调用Jackson的(由Mule使用的JSON库)字符串转义方法。

这是您可以在MEL中使用的示例。String.valueOf是必要的,因为quoteAsString返回char[]

<configuration>

<expression-language>

<import class="org.codehaus.jackson.io.JsonStringEncoder" />

<global-functions>

def quoteJSONString(s) {

String.valueOf(JsonStringEncoder.getInstance().quoteAsString(s))

}

</global-functions>

</expression-language>

</configuration>

以上是 如何在JSON中转义特殊字符 的全部内容, 来源链接: utcz.com/qa/431903.html

回到顶部