当前位置: 首页 > 面试题库 >

如何在JSON中转义特殊字符

夏季萌
2023-03-14
问题内容

我们为科学应用程序提供了一个带有较长段落的表格,其中包含诸如符号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>


 类似资料:
  • 我们有一个表单,其中有一个很长的段落,用于包含符号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中显示它,以便它按原样显示给用户。 例如: 会成为: 问题答案: 简短答案: 还有另一种选择: