java - 如何使用 Jersey Rest Webservices 和 Java 解析 JSON 数组

标签 java json web-services jersey arrays

我正在从 iOS 客户端获取 Json 数组,并希望使用 Java 和 jersey 以及 Gson 在服务器端解析 Json。我正在从 iOS 以 POST 方法发送 JSON 数组。我想使用 json 但坚持如何在 Java 类中保存 json 数据。这是我的 Json 数组的结构

{
    "friendList": [
      {"id": 1, "username": "user1", "name":"person1", "friendUsername":"fUser1", "friendName":"fName1"},
      {"id": 2, "username": "user2", "name":"person2", "friendUsername":"fUser2", "friendName":"fName2"},
      {"id": 3, "username": "user3", "name":"person3", "friendUsername":"fUser3", "friendName":"fName3"},...
    ]
}

这是我的网络服务类

@Path("/FriendsList")
public class RestWebServicesAPI {


     @POST
     @Path("/friends")
     @Consumes(MediaType.APPLICATION_JSON)
     public Friends saveFriedList(Friends friend, @Context HttpServletRequest request) {

        // Don't know how to parse json array????

     }


}

这是我的 friend 类

import java.util.List; 

import javax.xml.bind.annotation.XmlRootElement; 

@XmlRootElement 

Public Class Friends {

    private String id; 
    private String username; 
    private String name; 
    private String friendUsername; 
    private String friendName;  

    public Friends() { 
    } 

   //getter setter methods

} 

最佳答案

我认为你必须像这样简单地做:

@Path("/FriendsList")
public class RestWebServicesAPI{

@POST
@Path("/friends")
@Consumes(MediaType.APPLICATION_JSON)
public Friends saveFriendList(final String json){
    Gson gs = new Gson();
    Friends [] n = gs.fromJson(json, Friends [].class);

}
//ALTERNATIVE
@POST
    @Path("/friends")
    @Consumes(MediaType.APPLICATION_JSON)
    public Friends saveFriendList(final Friends[] friends){


    }

关于java - 如何使用 Jersey Rest Webservices 和 Java 解析 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20989792/

相关文章:

java - Quartz 中的异步作业调度

JavaFX:如何设置 TabPane header onClick 事件的监听器

java - JFrame 窗口拒绝打开

javascript - 在JQuery数据表中选择另一个页面后如何重绘数据表?

web-services - "azure api app"会根据某些默认策略自行重启吗?

java - Android ListView - 检测页脚何时可见

json - jackson-dataformat-xml 将@ResponseBody 转换为 XML

C# - 将 List<JToken> 转换为 List<string> 单行

java - 如何将 header 添加到 SOAP 请求?

java - 验证 JAX-WS Web 服务中的凭据