首页 > 解决方案 > JSON 中的阿拉伯字符

问题描述

我将以下带有阿拉伯字符的 JSON 发送到 REST 控制器。我的问题是阿拉伯字符以 ? 的形式出现。有任何想法吗?

JSON如下。请求内容类型为“application/json;charset=UTF-8”。

[
   { 
      "articleNumber":"1052",
      "genericArticle":"",
      "modelNumber":"FGTD18V5C/F/GW/MW",
      "articleDescription":"1052",
      "articleArabicDescription":"ثلاجة",
   }
]

Java Jackson 注释类

public class Article {

    @JsonProperty
    private String articleNumber;
    @JsonProperty
    private String genericArticle;
    @JsonProperty
    private String modelNumber;
    @JsonProperty
    private String articleDescription;
    @JsonProperty
    private String articleArabicDescription;
}

Java REST 控制器类

@RestController
@CrossOrigin
@RequestMapping(value = "/articles")
public class ArticlesController {
    @RequestMapping(method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
    public ResponseCounts createOrUpdate(@RequestBody List<Article> articles) {
        return;
    }
}

当我在发送上述 JSON 后检查此方法的内容时,我在列表中按预期获得了一个对象,但articleArabicDescription数据成员显示问号。有任何想法吗?

非常感谢

帕特里克

标签: javajsonrestutf-8

解决方案


好吧,produces参数负责@ResponseBody编码,而您的问题出在@RequestBody因此尝试将 a 添加consumes = MediaType.APPLICATION_JSON_UTF8_VALUE@RequestMapping定义中


推荐阅读