2012-12-07 40 views
0

我有一个JSON字符串如何生成POJO类以下JSON字符串

{ 
"user": [ 
    { 
     "actor": "ashok" 
    }, 
    { 
     "actor": { 
      "name": "ashok", 
      "mail": "[email protected]" 
     } 
    }, 
    { 
     "actor": [ 
      "ashok", 
      "kumar" 
     ] 
    } 
] 
} 

如何生成一个POJO类。这是杰克逊映射器在bean类中自动映射下面的json。

+0

在其上创建新实例您的JSON是无效的 – Ilya

+0

,但它是有效的,只有一个mistack那就是“演员“:”ashok“在用户数组第一elemnt –

+0

我正确的JSON字符串,所以现在你可以检查 –

回答

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

是第二种情况,你可以创建简单的类有两个字符串字段namemailif (value instanceof Map)

+0

你的解决方案是正确的,但对我的代码不可行 –

+0

我的主要问题是在这[链接](http:// stackoverflow .COM /问题/ 13740901 /何灿I-deseralize-JSON对象功能于Java的POJO类/ 13745534#13745534)。 –