提交JSON负载时Java中的撇号解析问题

提交JSON负载时Java中的撇号解析问题,java,json,string,Java,Json,String,我有一个带有getter和setter的JavaPOJO类。在这个类中,我有一个字段应该只接受“撇号”字符。必须拒绝其他字符 下面是代码片段: @Slf4j public final class JsonFormatConstant { public static final String JSON_ALPHANUMERIC_WITH_APOSTROPHE_PATTERN = "^[a-zA-Z0-9'\\s]*$"; } @Data public class UserDetail {

我有一个带有getter和setter的JavaPOJO类。在这个类中,我有一个字段应该只接受“撇号”字符。必须拒绝其他字符

下面是代码片段:

@Slf4j
public final class JsonFormatConstant {

public static final String JSON_ALPHANUMERIC_WITH_APOSTROPHE_PATTERN = "^[a-zA-Z0-9'\\s]*$";

}

@Data
public class UserDetail {

@RegularFormat(regularExpression = JsonFormatConstant.JSON_ALPHANUMERIC_WITH_APOSTROPHE_PATTERN)

private String myDetails;

}
现在,当我尝试使用以下信息点击JSON负载时:

{
  "userDetail": {

    "myDetails": "myDetails's"

    }
}
我得到的答复如下:

{
  "userDetail": {

    "myDetails": "myDetails's"

    }
}

谁能帮我把这些
'字符当我提供一个包含撇号的字符串时?

在您没有显示的代码中的某个地方,JSON被HTML转义。找到它所在的位置,并停止HTML转义
是a,尤其是撇号的ASCII码。您必须自己查找字符串被编码的原因,或者必须显示代码的运行部分。查看一些数据字段是不够的。我检查了我的代码,发现下面是HTML转义。。公共类StringEncodingDeserializer扩展JsonDeserializer{@Override public String deserialize(JsonParser p,DeserializationContext ctxt)抛出IOException{if(p.getCurrentToken()!=JsonToken.VALUE_NULL){String str=p.getText().trim();返回HtmlUtils.htmlEscape(HtmlUtils.htmlUnescape(str));}else{return null;}}