jax rs像param一样的多维数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jax rs像param一样的多维数组相关的知识,希望对你有一定的参考价值。

我在javascript中有下一个对象:

var customObj = [];
customObj[customId] = {name:'sample',other:'other'};
customObj[customId2] = {name:'sample2',other:'other2'};

当我尝试解析查询时,params会产生如下结果:

customObj [0] [名称] =样品customObj [0] [其他] =&其他customObj [1] [名称] = SAMPLE2&customObj [1] [其他] =未分类产品

在jax rs我有这个资源:

@GET
public MyObject getSomething(@QueryParam("customObj") customObj /*Here is the problem*/){
  for(ObjectOrMapOrListOrArrayList myObject:customObject){
      System.out.println(myObject);//prints something like {name:'sample',other:'other'}
  }
}

但我不知道如何接收对象参数,我尝试使用List>因为在我的对象中所有数据都是一个字符串但它不起作用,我尝试使用Map但我收到

错误的参数类型错误

.

答案

您可以接收String并将其解析为JsonObject。

@GET
public MyObject getSomething(@QueryParam("customObj")String customObj ){
  JsonReader jsonReader = Json.createReader(new StringReader(customobj));
  JsonObject object = jsonReader.readObject();
  jsonReader.close();
  ...
}

请注意,这是javax.json

以上是关于jax rs像param一样的多维数组的主要内容,如果未能解决你的问题,请参考以下文章

为啥使用 JAX-RS / Jersey?

Jax-RS 和 Xmlhttp 通信

JAX-RS 和 JAX-WS 有啥区别?

如何在VB中连接两个多维数组?

从JAX-RS服务发送重定向

使用 Jax-RS 发布 HTTP 错误代码 415?