当前位置: 首页 > 知识库问答 >
问题:

使用RestTemplate将JSON字符串(其中包含不同的宽泛项)转换为Java类

齐承运
2023-03-14

我有一个json字符串:

{
   "name": "abc",
   "type": "type1",
   "artist": {
       "name": "ally"
   },
   "other_part": "{\"id\":\"ee50abd7\",\"metadata\":"...\"}"
}

如您所见,“other_part”的格式看起来很宽松。它用引号表示。

在这里,我只想把它转换成一个POJO类。但other_part给出解析错误。任何建议。

POJO类:

class Data
{
   private String name;
   private String type;
   private Artist artist;
   private Other other_part;
   ...getters
} 
class Artist
{
   private String name;
   ...getters
} 
class Other
{
   private String id;
   private String metadata;
   ...getters
} 

和RestTemplate:

restTemplate.exchange(requestEntity, Data.class);

错误:

(尽管至少存在一个创建者):没有从字符串值反序列化的字符串参数构造函数/工厂方法...

共有1个答案

左翰海
2023-03-14

您是否尝试为类提供设置器和空构造器,以便序列化jackson(spring的默认数据序列化器)需要从我所知的这一个。

 类似资料:
  • 我需要在Java中将以下json字符串转换为Map:请注意,这个json字符串中包含数组,这就是我面临的问题: JSON解析器错误:不能将java.lang.String实例反序列化出START_OBJECT令牌...};行:3,列:20](通过引用链:java.util.LinkedHashMap[“level3”])com.fasterxml.jackson.databind.JSONMapp

  • 我有一个字符串返回给我,其中包含转义字符。 这是一个示例字符串 " test\40gmail.com " 如您所见,它包含转义字符。我需要将其转换为其实际值,即 " test@gmail.com " 我该怎么做?

  • 问题内容: 我从HTML页面中将一个字符串输入到Java HTTPServlet中。根据我的要求,我得到了显示汉字的ASCII码: “可以告诉我” (无空格) 如何将该字符串转换为Unicode? HTML代码: Java代码: 如果我打印问题[0],则会得到以下值:“可以告&#3578

  • 我有一个RestController类,它有一个方法可以根据电影的标题搜索电影: 如果我发送一个json字符串 从邮递员到endpoint,我收到一个空白的回复。 然后我做了一个 就在进入方法后找到字符串filmSearch正是我从邮递员发送的JSON字符串。我的应用程序没有看到JSON和提取值从filmSearch在我的请求附加到应用程序内字符串filmSearch. 如果我移除 在请求映射的一

  • 我有一个包含json字符串的数据框架df,如下所示, df 架构: 如何将其转换为字符串数组(数组类型(字符串类型())? 结果应该是这样的, 结果模式: 任何帮助都将不胜感激。谢谢你!

  • 问题内容: 如何将Unicode字符串(包含额外的字符,如£$等)转换为Python字符串? 问题答案: