Многомерный массив Jax RS как Param

У меня есть следующий объект в сценарии Java:

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

когда я пытаюсь проанализировать параметры запроса, получается что-то вроде этого:

customObj [0] [имя]= образец &customObj[0][другой]= & customObj другой [1][имя]=sample2&customObj[1][другой]= Разное2

В 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, но я получаю

неверный тип ошибки

,

1 ответ

Вы можете получить строку и проанализировать ее в JsonOnbject.

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

Обратите внимание, что это javax.json

Другие вопросы по тегам