我需要在我的json中将一些特定于语言的字符发送到我正在运行的本地tomcat服务器。每当遇到这些字符时,就会出现“400 - 请求在语法上不正确”,如预期的那样
有什么工作吗?此外,我不希望它支持某些特定语言,但保持通用并支持发送请求的浏览器支持的所有语言。
在后端支持Spring MVC,它将处理json输入
样品:
абвгдеёжзийклмнопрстуфхцчшщъыьэюя=один
控制器代码:
@RequestMapping(value = "/services", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Response1> executeService(
@RequestBody Request1 request) {
//controller code
}
Json请求:
{
"serviceName":"abc",
"input":{
"text":"абвгдеёжзийклмнопрстуфхцчшщъыьэюя=один"
}
}
P.S。 Json对英文字符有效,如果我发送普通英文字符,控制器正常工作,在这种情况下显示正确的输出。
检查针对特定错误的评论
答案 0 :(得分:1)
这不是有效的JSON。有效的JSON看起来像这样:
{"абвгдеёжзийклмнопрстуфхцчшщъыьэюя" : "один"}
另一个常见的罪魁祸首是字符集或编码。 JavaScript使用Unicode作为字符串,任何值得盐的JSON框架在为线路准备数据时都会使用UTF-8编码。因此,除非您尝试自己做所有事情(不使用任何框架)或者您正在篡改标题,尤其是Content-Type
标题,否则这应该是开箱即用的。
如果这两项建议无法解决您的问题,则必须向我们展示您的代码。