java - 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数据成员显示问号。有任何想法吗?
非常感谢
帕特里克
解决方案
好吧,produces
参数负责@ResponseBody
编码,而您的问题出在@RequestBody
因此尝试将 a 添加consumes = MediaType.APPLICATION_JSON_UTF8_VALUE
到@RequestMapping
定义中
推荐阅读
- php - 使用 PDO 将图像从 MySQL 数据库加载到 Bootstrap 轮播(fetchall 问题)
- python - 两组不相交区间的异或
- angular - Angular - 构建内部路由后不起作用 - 404错误
- laravel - 如何在 Laravel 中测试同时使用 `Storage::put()` 和 `Storage::temporaryUrl()` 的路由?
- excel - 遍历一列并根据列中的值删除多行
- azure-cosmosdb - 为 Cosmos .NET v3 SDK 使用自定义 System.Text.Json 序列化程序时,空间点数据类型未正确序列化
- php - 为什么 css 文件已连接但在 php 缓冲区中不起作用?
- c++ - 当 std::sort 变得不稳定时?
- tensorflow - 具有密集连接层的 Dropout
- image - 在容器内启动 tomcat servelt 引擎 tomcat8 [失败]