Java 如何从POST请求中获取Json格式的对象列表
我想在dropwizard中获得包含Java/Jersey中对象列表的内容JSON正文 以json主体为例Java 如何从POST请求中获取Json格式的对象列表,java,json,jersey,Java,Json,Jersey,我想在dropwizard中获得包含Java/Jersey中对象列表的内容JSON正文 以json主体为例 { "tag1" : "value", "parameter" : [ { "name":"value1", "content":"value2" }, { "name":"value1", "content":"value2"
{
"tag1" : "value",
"parameter" : [
{
"name":"value1",
"content":"value2"
},
{
"name":"value1",
"content":"value2"
}
]
}
我试着按要求接收请求
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response insertJob(
@PathParam("tag1")
String tag1,
@JsonProperty("parameter")
List<RequestParameter> parameter
) {
return Response.ok(parameter).build();
}
以及
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response insertJob(
List<RequestParameter> parameter
) {
return Response.ok(parameter).build();
}
@POST
@使用(MediaType.APPLICATION_JSON)
@产生(MediaType.APPLICATION_JSON)
公共响应插件作业(
列表参数
) {
返回Response.ok(参数).build();
}
我能够接收列表中的内容。如果列表中有标记,如何获取内容?为请求创建一个pojo类
[
{
"name":"value1",
"content":"value2"
},
{
"name":"value1",
"content":"value2"
}
]
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
public class Job {
private String tag1;
@JsonProperty("parameter")
private List<RequestParameter> parameters;
public String getTag1() {
return tag1;
}
public void setTag1(String tag1) {
this.tag1 = tag1;
}
public List<RequestParameter> getParameters() {
return parameters;
}
public void setParameters(List<RequestParameter> parameters) {
this.parameters = parameters;
}
}
public class RequestParameter {
private String name;
private String content;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
这是输出
谢谢,干得好。JSON正文中缺少一个逗号。对不起。看看我修改过的答案:)
@Path(value = "/job")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response insertJob(
Job test
) {
return Response.ok(test).build();
}