首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Springboot中将json字符串中的符号转换为Java对象

如何在Springboot中将json字符串中的符号转换为Java对象
EN

Stack Overflow用户
提问于 2022-11-03 11:38:20
回答 1查看 34关注 0票数 -1

我有以下格式的Json字符串:

代码语言:javascript
运行
复制
{"id":"12345","category":"Bed \u0026 Bath@\u003eBathroom Accessories \u0026 Organization@\u003eCountertop Bath Accessories@\u003e"}

预期产出: SampleDTO:

代码语言:javascript
运行
复制
{"id":"12345","category":"Bed & Bath@>Bathroom Accessories & Organization@>Countertop Bath Accessories@>"}

当我将json字符串转换为JsonObject时,将得到预期的输出,但是如果我将JsonObject转换为SampleDTO对象,则unicode值不会被符号替换。

尝试了以下将jsonString转换为SampleDTO的方法:

代码语言:javascript
运行
复制
 Gson gson = new Gson();

        return gson.fromJson(JsonObject,SampleDTO.class);

or      return gson.fromJson(JsonString,SampleDTO.class);
EN

回答 1

Stack Overflow用户

发布于 2022-11-03 11:56:33

我认为你的问题与json无关。你只需要解开字符串。尝试使用StringEscapeUtils.unescapeJava

这是我的例子

代码语言:javascript
运行
复制
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;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74302450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档