繁体   English   中英

如何使用 json object 到 java Z65E8800B5C6800AAD896F888B2Arsx2A webservice

[英]how to pass json object to a java rest webservice using jax rs

我需要有关updateGroup方法的方法签名的帮助。 这是正在传递的 json - 它是一系列动作。

    [{"action":"add","key":"104"}]

这是它被传递给的方法

@PUT
@Path("/group/{id}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public IRestResponse updateGroup(@PathParam("id") String GroupName,
                                 Object GroupActions){
    //Do Something...
}

GroupActions应该是什么类型才能接收 json。 ? HashMapArrayList ,某种组合?

您可以使用任何您想要的集合类型:List、Collection、ArrayList、HashSet 等; 或者,有时更好的是指定类型的数组。 因此,其中之一:

public IRestResponse updateGroup(..., List<GroupAction> groupActions);
public IRestResponse updateGroup(..., GroupAction[] groupActions);
public IRestResponse updateGroup(..., HashSet<GroupActions> groupActions);

我不太确定为什么其他答案建议您使用 String:这不太可能起作用,因为其中一个原因(因为默认转换器不会 go 从 JSON/XML 类型返回到 String),但更重要的是,这是不必要的额外工作,没有任何收获。

但是,如果您绝对想做手动解析(如果是这样,请使用 Jackson,这是大多数框架使用的),您可以将输入作为 InputStream 并将其提供给解析器。 它是使用的最佳“原始类型”,并且没有注册处理程序来导致问题。

您是否尝试过使用 String 类型而不是解析它?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM