色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java mvc 返回 json 亂碼

江奕云1年前9瀏覽0評論

Java MVC 是一種常見的 web 應(yīng)用架構(gòu),它將應(yīng)用程序分解為三個主要部分:模型 (Model)、視圖 (View) 和控制器 (Controller)??刂破鹘邮詹⑻幚韥碜杂脩舻恼埱螅{(diào)用指定的模型進行數(shù)據(jù)處理,并將處理后的數(shù)據(jù)傳遞給視圖進行呈現(xiàn)。

在 Java MVC 中,我們經(jīng)常需要返回 JSON 數(shù)據(jù)給前端。但是,有時候我們會發(fā)現(xiàn)返回的 JSON 數(shù)據(jù)出現(xiàn)了亂碼的情況。

例如以下代碼:
// User 類
public class User {
private Long id;
private String name;
private Integer age;
// 省略 getter 和 setter
}
// UserController 類中的一個方法
@RequestMapping(value = "/getUser", method = RequestMethod.GET)
@ResponseBody
public User getUser() {
User user = new User();
user.setId(1L);
user.setName("張三");
user.setAge(18);
return user;
}

在這個例子中,我們定義了一個 User 類,并在 UserController 類中定義了一個返回 User 對象的 getUser 方法。在方法上使用 @ResponseBody 注解,表示返回的是 JSON 數(shù)據(jù)。

如果直接訪問 "/getUser" 接口,會發(fā)現(xiàn)返回的 JSON 數(shù)據(jù)中的名字出現(xiàn)了亂碼:{"id":1,"name":"??","age":18}。

產(chǎn)生這個問題的原因是,Spring 默認情況下使用的是 ISO-8859-1 編碼格式,而不是 UTF-8 編碼格式(JSON 數(shù)據(jù)默認使用 UTF-8 編碼)。因此,需要在配置文件中添加以下配置:

# application.properties 文件中添加以下配置
spring.http.encoding.force=true
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true

添加完上述配置后,再次訪問 "/getUser" 接口,就會發(fā)現(xiàn)返回的 JSON 數(shù)據(jù)中的名字不再是亂碼了。