Post 在java中通过REST调用发布和检索JSON对象

Post 在java中通过REST调用发布和检索JSON对象,post,curl,jersey,jsonobject,Post,Curl,Jersey,Jsonobject,我有一个Rest端点(基于jersey),它接受一个JSON对象,我通过将它映射到POJO来检索它,例如 @POST @Path("/test") @Produces(MediaType.APPLICATION_JSON) public void getResult(PojoClass pojo) 我的班是: @XmlRootElement public class PojoClass { private List<String> list; public List<Str

我有一个Rest端点(基于jersey),它接受一个JSON对象,我通过将它映射到POJO来检索它,例如

@POST
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
public void getResult(PojoClass pojo)
我的班是:

@XmlRootElement
public class PojoClass {
private List<String> list;

public List<String> getList() {
    return list;
}

public void setList(List<String> list) {
    this.list = list;
}
}
我能把它正确地映射到我的PojoClass中

xvz.json是:

{
  "list":[
     "123",
     "456"
    ]
}
PojoClass列表将包含两个元素(“123”和“456”)

但是如果您从JAVA执行post调用。我将发送与有效负载相同的json结构,它作为PojoClass接收,list作为单个元素,这是一个类似于[“123”,“456”]

我正在使用“HttpURLConnection”从java进行post调用


需要额外的东西才能获得与cURL命令相同的结果吗?

这是JSONObject和JSONArray之间的库冲突,它破坏了请求负载中的JSON。 当我处理这个错误时,请求进行得很顺利,一切都很顺利

{
  "list":[
     "123",
     "456"
    ]
}