如何使用java解析带有UTF-8字符的json字符串?

如何使用java解析带有UTF-8字符的json字符串?,java,json,jackson,jsonparser,Java,Json,Jackson,Jsonparser,我有一个带有()utf-8字符的json字符串。当我尝试使用jackson将json字符串转换为java对象时,我遇到了解析异常。你能告诉我如何编码和解码utf-8字符吗 ObjectMapper mapper = new ObjectMapper(); mapper.readValue(jsonString, MY_DOMAIN_OBJECT.class); jsonString: {"studentId":"753253-2274", "information":[{"key":"1","

我有一个带有()utf-8字符的json字符串。当我尝试使用jackson将json字符串转换为java对象时,我遇到了解析异常。你能告诉我如何编码和解码utf-8字符吗

ObjectMapper mapper = new ObjectMapper();
mapper.readValue(jsonString, MY_DOMAIN_OBJECT.class);
jsonString:

{"studentId":"753253-2274", "information":[{"key":"1","value":"Get alerts on your phone(SUBSTITUTE character is present here. Unable to paste it)To subscribe"}]}

错误:

Illegal unquoted character ((CTRL-CHAR, code 26)): has to be escaped using backslash to be included in string value
你能试试这个吗

ObjectMapper mapper = new ObjectMapper();
mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
mapper.readValue(jsonString, MY_DOMAIN_OBJECT.class);
我希望它能帮助你:

确定解析器是否允许JSON字符串包含不带引号的控制字符(值小于32的ASCII字符,包括制表符和换行符)的功能。如果feature设置为false,则在遇到此类字符时引发异常。 由于JSON规范要求引用所有控制字符,这是一个非标准特性,因此在默认情况下是禁用的


您能公布实际的错误吗?您是否确认是
\u001A
引起了问题?难道你的域类和JSON结构之间不匹配吗?更新了错误代码。这不是不匹配的问题@当然是美娜。这是一个控制角色。在JSON语法中,您必须转义它。错误文本实际上告诉您,虽然从技术上讲不是反斜杠,而是完整的unicode转义序列。您尝试过吗?问题似乎是相同的。这将我的替换符号转换为java编码(\u001A)。但我想转换为html编码(;),因为我需要在html页面上使用这些信息。有没有办法做到这一点@疯癫