2014-09-04 61 views
-1

我已经创建了一个控制器来获取json对象。我曾尝试使用休息客户端,但我得到整数数组中的空值。以下是请求对象类和json请求。如果任何人知道如何检索整数数组的值,我已经尝试过int [],List但我得到了相同的空值。 查看我的json和请求对象。如何使用REST API在java中获取整数数组的值?

请求JSON:

{ 
    "allUser":false, 
    "userIds": [622,46] 
    } 

请求对象类:

public class restRequest { 
    boolean allUser; 
    Integer [] userIds; 

    public boolean isallUser() { 
     return allUser; 
    } 
    public void setallUser(boolean allUser) { 
     this.allUser = allUser; 
    } 
    public Integer[] getUserIds() { 
     return userIds; 
    } 
    public void setUserIds(Integer[] userIds) { 
     this.userIds = userIds; 
    } 
} 
+0

您使用GSON? – letsjak 2014-09-04 12:59:43

回答

0

这里我使用GSON到JSON转换为相应的对象,你可以从here下载JAR或添加maven依赖如下:

<dependency> 
    <groupId>com.google.code.gson</groupId> 
    <artifactId>gson</artifactId> 
    <version>2.2.2</version> 
</dependency> 

以下是代码段

public class GsonTest { 

    public static void main(String[] args) { 
     String data = "{\"allUser\":false,\"userIds\": [622,46]}"; 

     Gson gson = new GsonBuilder().create(); 

     RestRequest restRequest = gson.fromJson(data, RestRequest.class); 
     System.out.println(restRequest); 
    } 
} 

和RestRequest类如下:

public class RestRequest { 

    boolean allUser; 
    Integer[] userIds; 

    // getters & setters methods 

    @Override 
    public String toString() { 
     StringBuilder builder = new StringBuilder(); 
     builder.append("RestRequest [allUser="); 
     builder.append(allUser); 
     builder.append(", userIds="); 
     builder.append(Arrays.toString(userIds)); 
     builder.append("]"); 
     return builder.toString(); 
    } 
} 

最终的结果是RestRequest [allUser=false, userIds=[622, 46]]

相关问题