我们有一个表单,其中有一个很长的段落,用于包含符号beta(ß-arrestin)等字符的Scientific应用程序。我们有一个在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
科学家们所写的形式元素我们无法控制。因此,在骡子方面,我们如何像java那样自动摆脱这些角色呢。非常感谢
在你的例子中,传入的数据看起来是格式错误的。它必须是JSON规范支持的编码: UTF-8(默认)、UTF-16或UTF-32。所以不确定以下内容是否适用。尽管如此...
对于大多数应用程序,我建议使用JSON到对象的映射,这将解决转义问题。否则,可以直接调用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>
在目标位置,您可以以文本/普通格式接收数据。
通过以下方式进行清洁:
input.replaceAll("\\p{Cc}", "").
使用任何JSON库将其转换回JSON数据:
JSONObject inputParams = JSONObject.fromObject(input);
希望有帮助。
我们有一个表单,其中有一个很长的段落,用于包含符号beta(ß-arrestin)等字符的Scientific应用程序。我们有一个在Mule上运行的JSON服务,它获取数据并保存到oracle数据库。这个带有长段落的特殊元素在RAML/JSON中给了我一个错误。下面是错误 科学家们所写的形式元素我们无法控制。因此,在骡子方面,我们如何像java那样自动摆脱这些角色呢。非常感谢
问题内容: 有没有一种方法可以将字符串转换为可以在Web文档中正确显示的字符串?例如,更改字符串 至 问题答案: 具有专门为此设计的功能: http://commons.apache.org/proper/commons- lang/javadocs/api-3.1/org/apache/commons/lang3/StringEscapeUtils.html
问题内容: 这是我的绳子 此处,消息包含单引号,与JSON中使用的引号相同。我要做的是从用户输入(例如消息)中填充一个字符串。因此,我需要避免那些破坏代码的特殊情况。但是,除了字符串替换之外,还有什么方法可以使它们转义,但仍允许HTML将其处理回正确的消息? 问题答案: 根据规范,JSON字符串必须用双引号引起来,因此您无需逸出。 如果必须在JSON字符串中使用特殊字符,则可以使用characte
这是我的绳子 这里消息包含单引号,它与JSON中使用的引号相同。我所做的是从用户输入(如消息)中填充字符串。所以,我需要逃离那些破坏代码的特殊场景。但是除了字符串替换之外,有没有办法让它们转义,但仍然允许超文本标记语言将它们处理回正确的消息?
问题内容: Oracle中是否有一种简单的方法来转义SQL语句中的特殊字符?(即%,&,’)我看到了有关手动转义字符的链接,但我认为Oracle可能提供了一种更简便的方法。 注意:我正在通过ORM生成动态SQL select语句。 问题答案: 如果使用绑定变量和ORM,则应自动处理嵌入的单引号和“&”号。这些是SQL * Plus或SQL * Developer中的特殊字符。 要在查找文字字符%和
问题内容: 在创建自定义标签或Java方法来执行此操作之前,在JSP中转义HTML字符的标准方法是什么? 我有一个String对象,我想在HTML中显示它,以便它按原样显示给用户。 例如: 会成为: 问题答案: 简短答案: 还有另一种选择: