Java json中特定于语言的字符
我需要在json中发送一些特定于语言的字符到我正在运行的本地tomcat服务器。每次遇到这些字符时,它都会像预期的那样说“400-Request在语法上不正确” 有什么解决办法吗?另外,我不希望它支持某些特定的语言,但要保持通用性,并支持发送请求的浏览器支持的所有语言 在后端支持SpringMVC,它将处理json输入 样本:Java json中特定于语言的字符,java,json,spring,rest,tomcat,Java,Json,Spring,Rest,Tomcat,我需要在json中发送一些特定于语言的字符到我正在运行的本地tomcat服务器。每次遇到这些字符时,它都会像预期的那样说“400-Request在语法上不正确” 有什么解决办法吗?另外,我不希望它支持某些特定的语言,但要保持通用性,并支持发送请求的浏览器支持的所有语言 在后端支持SpringMVC,它将处理json输入 样本: абвгдеёжзийклмнопрстуфхцчшщъыьэюя=один 控制器代码: @RequestMapping(value = "/services
абвгдеёжзийклмнопрстуфхцчшщъыьэюя=один
控制器代码:
@RequestMapping(value = "/services", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Response1> executeService(
@RequestBody Request1 request) {
//controller code
}
p.S.Json对英文字符有效,如果我发送普通英文字符,控制器工作正常,在这种情况下显示正确的输出
检查注释以查看所面临的特定错误这不是有效的JSON。有效的JSON如下所示:
{"абвгдеёжзийклмнопрстуфхцчшщъыьэюя" : "один"}
另一个常见的罪魁祸首是字符集或编码。JavaScript对字符串使用Unicode,任何值得称道的JSON框架在为连接准备数据时都将使用UTF-8编码。因此,除非您试图自己做所有事情(不使用任何框架),或者您正在篡改标题,尤其是内容类型
标题,否则这应该是现成的
如果这两个建议不能解决您的问题,您必须向我们展示您的代码。看起来您没有使用
UTF-8
端到端编码。请阅读以下内容:抱歉,但是如何在客户端添加编码,即通过REST客户端发送请求的人,比如作为浏览器扩展?与其他任何地方一样,设置正确的标题。Content-Type:“application/json;charset=utf-8”我正在设置。给出了415:不支持的MediaType错误。很抱歉,没有弄清楚,字符串类似于{“name”:“бггзззззззззззззззззззъъ1095。你有没有检查电线上的请求是否正确?现在的大多数浏览器都允许您查看发送和接收的数据。使用charset=utf-8标头,显示415错误,但没有该标头,请求在语法上是不正确的,在连线上看起来也不好。请参见和
{"абвгдеёжзийклмнопрстуфхцчшщъыьэюя" : "один"}