杰克逊序列化没有正确处理单引号

Jas*_*son 9 javascript java spring json jackson

我刚刚开始使用Jackson,因为它与Spring Framework集成,并且遇到了一个值为单引号的问题.当尝试在页面上使用jQuery解析JSON时,我收到一个JavaScript错误"SyntaxError: missing ) after argument list".我习惯使用Gson来序列化我的对象,并且不会遇到这个问题,因为Gson会用Unicode\u0027替换单引号.

例如;
Java的

public final class Person {
  private String firstName;
  private String lastName;

  public Person() {}

  public void setFirstName(String firstName) {
    this.firstName = firstName;
  }

  public String getFirstName() {
    return firstName;
  }

  public void setLastName(String lastName) {
    this.lastName = lastName;
  }

  public String getLastName() {
    return lastName;
  }
}
Run Code Online (Sandbox Code Playgroud)



杰森 [{"person":{"firstName":"James","lastName":"O'tool"}}]
在 杰森的 JSON [{"person":{"firstName":"James","lastName":"O\u0027tool"}}]

JavaScript ;
// This is where the JavaScript fails with the Jackson serialized object
$.parseJSON('${requestScope.person}');

我找了一个解决方案,但我找不到.有谁知道是否有可能配置杰克逊以与Gson相同的方式处理单引号?

感谢您的时间.

Sta*_*Man 6

另一个答案显示了一种方法,它应该工作得很好.

但是还有另一种方法可以做到这一点,这是一点点工作,解释为" 强制使用杰克逊在JSON中转义HTML字符 "