json中的语言特定字符

时间:2015-04-16 07:02:38

标签: java json spring rest tomcat

我需要在我的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对英文字符有效,如果我发送普通英文字符,控制器正常工作,在这种情况下显示正确的输出。

检查针对特定错误的评论

1 个答案:

答案 0 :(得分:1)

这不是有效的JSON。有效的JSON看起来像这样:

{"абвгдеёжзийклмнопрстуфхцчшщъыьэюя" : "один"}

另一个常见的罪魁祸首是字符集或编码。 JavaScript使用Unicode作为字符串,任何值得盐的JSON框架在为线路准备数据时都会使用UTF-8编码。因此,除非您尝试自己做所有事情(不使用任何框架)或者您正在篡改标题,尤其是Content-Type标题,否则这应该是开箱即用的。

如果这两项建议无法解决您的问题,则必须向我们展示您的代码。