2011-12-08 37 views
0

我的服务露天REST的反应是:分析JSON到Java对象的无根

[ 
{ 
"role": "SiteManager", 
"authority": 
{ 
    "authorityType": "USER", 
    "fullName": "admin", 
    "userName": "admin", 
    "firstName": "Administrator", 
    "lastName": "", 
    "url": "\/alfresco\/service\/api\/people\/admin" 
}, 
"url": "\/alfresco\/service\/api\/sites\/test3\/memberships\/admin" 
} 
, 
{ 
"role": "SiteConsumer", 
"authority": 
{ 
    "authorityType": "GROUP", 
    "shortName": "jamalgg", 
    "fullName": "GROUP_jamalgg", 
    "displayName": "jamalgg", 
    "url": "\/alfresco\/service\/api\/groups\/jamalgg" 
}, 
"url": "\/alfresco\/service\/api\/sites\/test3\/memberships\/GROUP_jamalgg" 
} 
, 
{ 
"role": "SiteManager", 
"authority": 
{ 
    "authorityType": "GROUP", 
    "shortName": "ALFRESCO_ADMINISTRATORS", 
    "fullName": "GROUP_ALFRESCO_ADMINISTRATORS", 
    "displayName": "ALFRESCO_ADMINISTRATORS", 
    "url": "\/alfresco\/service\/api\/groups\/ALFRESCO_ADMINISTRATORS" 
}, 
"url": "\/alfresco\/service\/api\/sites\/test3\/memberships\/GROUP_ALFRESCO_ADMINISTRATORS" 
} 
] 

我想解析到对象的列表:

List<Memberships > listMemberships; 

public class Memberships { 
private String role; 
private List<Authority> listAuthority ; 
private String url; 
} 
public class Authority { 
private String authorityType; 
private String shortName; 
private String fullName; 
private String displayName; 
private String url; 
} 

我想有两种解决方案:

  1. 如何添加标签对JSON成员的封装结果为 整体。
  2. 如何直接解析JSON结果到我的清单

感谢

回答

0

谢谢Ozoli。这个问题的答案我的问题是:

Type targetType = new TypeToken<Collection<Memberships>>() {}.getType(); 
List<Memberships> list = (List<Memberships>) new Gson().fromJson(renduJson,targetType); 
0

抱歉没有格式化代码

Type targetType = new TypeToken<Collection<Memberships>>() {}.getType(); 
List<Memberships> list = (List<Memberships>)new Gson().fromJson(rendu,targetType);