gson转换对象为json字符串时对特殊字符编码的问题

时间:2020-12-31 21:05:57

使用google的gson进行object和json的转换,如下:

public static String object2json(Object obj) {
Gson gson = new Gson();
return gson.toJson(obj);
}

这样转出来的字符串特殊字符,比如url中的=会变成unicode编码。

需要禁用html转义。

如下:

public static String object2json(Object obj) {
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
return gson.toJson(obj);
}

这样就没不会自动转码了。

使用jackjson不会有这种问题。如下:

public static String object2jackJson(Object arg0) {
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.writeValueAsString(arg0);
} catch (JsonProcessingException e) {
e.printStackTrace();
return null ;
}
}