我有以下格式的Json字符串:
{"id":"12345","category":"Bed \u0026 Bath@\u003eBathroom Accessories \u0026 Organization@\u003eCountertop Bath Accessories@\u003e"}预期产出: SampleDTO:
{"id":"12345","category":"Bed & Bath@>Bathroom Accessories & Organization@>Countertop Bath Accessories@>"}当我将json字符串转换为JsonObject时,将得到预期的输出,但是如果我将JsonObject转换为SampleDTO对象,则unicode值不会被符号替换。
尝试了以下将jsonString转换为SampleDTO的方法:
Gson gson = new Gson();
return gson.fromJson(JsonObject,SampleDTO.class);
or return gson.fromJson(JsonString,SampleDTO.class);发布于 2022-11-03 11:56:33
我认为你的问题与json无关。你只需要解开字符串。尝试使用StringEscapeUtils.unescapeJava
这是我的例子
public static void main(String[] args) {
String s = "{\"id\":\"12345\",\"category\":\"Bed \\u0026 Bath@\\u003eBathroom Accessories \\u0026 Organization@\\u003eCountertop Bath Accessories@\\u003e\"}";
String s1 = StringEscapeUtils.unescapeJava(s);
Gson gson = new Gson();
Sample sample = gson.fromJson(s1, Sample.class);
System.out.println(sample.getCategory());
}
@Data
static class Sample {
String id;
String category;
}https://stackoverflow.com/questions/74302450
复制相似问题