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

如何为以下json字符串生成pojo类

公冶安怡
2023-03-14

我有一个json字符串

{
"user": [
    {
        "actor": "ashok"
    },
    {
        "actor": {
            "name": "ashok",
            "mail": "ashok@gmail.com"
        }
    },
    {
        "actor": [
            "ashok",
            "kumar"
        ]
    }
]
}

如何生成POJO类。这是为了让jackson映射器在bean类中自动映射以下json。

共有1个答案

燕扬
2023-03-14
public class MainBean
{
   private List<UserBean> user = new ArrayList<UserBean>();

   // getter/ setter
}  

public class UserBean 
{
   private String actor; // this for "actor": "ashok" 

   private Map<String, String> actorMap; // this for second case

   private List<String> actors; // this for third case

   @JsonAnySetter
   public void set(String name, Object value)
   {
      if (value instanceof String)
      {
         actor = (String) value;   
      }
      else if (value instanceof Map)
      {
         actorMap = (Map<String, String>) value;   
      }
      else if (value instanceof List)
      {
         actors =  (List<String>) value; 
      }
   }
}  

第二种情况下,你可以创建一个简单的类,有两个字符串字段namemail,并在if(value instanceof Map)之后创建新的实例。

 类似资料:
  • 我想将以下字符串转换为对象: 要将其转换为对象,我创建了以下类: 我使用Jackson库转换到。以下是我如何使用杰克逊转换: 问题是,在转换上面的中User对象始终是空的。我做错了什么? 提前谢谢。

  • 问题内容: 我想将以下JSON字符串转换为Java对象: 我的目标是轻松访问它,例如: 我听说过Jackson,但是由于涉及“ mymusic”列表,我不知道如何使用它来适应我拥有的json字符串,因为它不仅仅是键值对。如果杰克逊不是最好的选择,我该如何用杰克逊完成? 问题答案: 为此,无需与GSON一起使用;杰克逊可以做普通的地图/列表: 或更方便的JSON树: 顺便说一句,没有理由为什么您不能

  • 问题内容: 我有以下字符串: 如何使用Google / GSON将其转换为Java POJO? 问题答案: 通过使用http://www.jsonschema2pojo.org/或通过在Studio中添加插件(https://github.com/Hexara/Json2Pojo)生成POJO 现在添加依赖项: 将您的json或字符串转换为POJO

  • 问题内容: 我正在努力用Java生成JSON字符串。 实际输出: 预期输出: 问题答案: 写 代替

  • 问题内容: 我有的: 我正在从pojo生成JSON模式。我的生成架构的代码如下所示: 我通过上面的代码生成了几个模式。其中一个pojos具有内部嵌入式枚举,以限制可能的值,如下所示: 上面的代码应将传递给“星期一”,“星期二”,“星期三”等的JSON数据中可能的String值限制。 当我在有问题的代码上运行模式生成器时,我希望得到类似以下模式的内容: 但是相反,我得到这个: 我在Jackson模式

  • Eclipse提供了为每个类自动生成toString方法的选项。 进一步利用这个功能,我正在创建字符串格式模板,在eclipse生成toString方法时作为Json格式提供。 我使用了以下字符串格式模板: 现在我按照POJO生成toString方法,但是当我运行这个程序时,我得到的结果是而不是有效的JSON。 密码 }