0

私はjson文字列を持っています

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

POJO クラスを生成する方法。これは、ジャクソン マッパーが次の json を Bean クラスに自動的にマップするためです。

4

1 に答える 1

1
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; 
      }
   }
}  

2 番目のケースでは、2 つの文字列フィールドnameを持つ単純なクラスをmail作成し、その後で新しいインスタンスを作成できます。if (value instanceof Map)

于 2012-12-07T09:06:34.800 に答える