当前位置: 首页 > 知识库问答 >
问题:

如何在JSON中转义特殊字符

云卓
2023-03-14

我们有一个表单,其中有一个很长的段落,用于包含符号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那样自动摆脱这些角色呢。非常感谢

共有2个答案

诸葛利
2023-03-14

在你的例子中,传入的数据看起来是格式错误的。它必须是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>
松秦斩
2023-03-14

在目标位置,您可以以文本/普通格式接收数据。

通过以下方式进行清洁:

input.replaceAll("\\p{Cc}", "").

使用任何JSON库将其转换回JSON数据:

JSONObject inputParams = JSONObject.fromObject(input);

希望有帮助。

 类似资料:
  • 问题内容: 我们为科学应用程序提供了一个带有较长段落的表格,其中包含诸如符号beta(ß-arrestin)等字符。我们在Mule上运行一个JSON服务,该服务获取数据并持久保存到oracle数据库中。这个带有长段的特殊元素给我RAML / JSON错误。下面是错误 科学家写下的形式元素我们无法控制。因此,在M子方面,我们如何像Java具有URLEncoded一样自动地转义这些字符。非常感谢 问题

  • 问题内容: 有没有一种方法可以将字符串转换为可以在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中显示它,以便它按原样显示给用户。 例如: 会成为: 问题答案: 简短答案: 还有另一种选择: