0
jsonから返されるデータにはアクセント付きの文字が含まれているため、それらをエンコードしたいと考えています。ここでJSONを生成する方法である。jacksonによって生成されたJSONデータをエンコードする方法は?
import org.codehaus.jackson.map.ObjectMapper;
...
@RequestMapping(value = "/ajaxDataTableListUsers", produces = "application/json")
@ResponseBody
public String ajaxList(@RequestParam int draw, @RequestParam int start, @RequestParam int length,
@RequestParam("search[value]") String search, @RequestParam("order[0][column]") int triIdx, @RequestParam("order[0][dir]") String ordreTri)
throws JsonGenerationException, JsonMappingException, IOException {
List<Object[]> utilisateursDataTable = utilisateurDao.list(start, length, search, triIdx, ordreTri);
List<Utilisateur> utilisateursAll = utilisateurDao.list();
DataTablesTO<Object[]> dt = new DataTablesTO<Object[]>();
dt.setData(utilisateursDataTable);
dt.setDraw(draw);
if (search == null || search.equals("")) {
dt.setRecordsTotal(utilisateursAll.size());
dt.setRecordsFiltered(utilisateursAll.size());
}
else {
dt.setRecordsTotal(utilisateursDataTable.size());
dt.setRecordsFiltered(utilisateurDao.nbUtilisateurTotalFiltered(search));
}
ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(dt); // how to encode the data here ?
}
私は、返された文字列をデバッグし、それがアクセント付き文字で目的のデータが含まれています。問題は、データがDataTableで表され、アクセント付きの文字が表示されない場合です。では、jsonデータをエンコードする方法は?