Настройка ответа REST API - PullRequest
0 голосов
/ 30 мая 2018

Я хочу отправить данные в следующем формате, так как интерфейс ожидает, что данные будут в этом формате

[
     [
      {
        "data": [
          [
            "x1-m1",
            128650.3
          ],
          [
            "x2-m2",
            19589.033
          ]
        ]

      }
    ],
    [
      {
        "data": [
          [
            "x1-m1",
            128640.3
          ],
          [
            "x2-m2",
            19559.033
          ]
        ]

      }
    ]  
]

Ниже приведено то, что я пробовал

public class FilterFluorescence {

    private String filter;
    private double fluorescence;

    public FilterFluorescence() {
    }

    public FilterFluorescence(String filter, double fluorescence) {
        this.filter = filter;
        this.fluorescence = fluorescence;
    }

    public String getFilter() {
        return filter;
    }
    public void setFilter(String filter) {
        this.filter = filter;
    }
    public double getFluorescence() {
        return fluorescence;
    }
    public void setFluorescence(double fluorescence) {
        this.fluorescence = fluorescence;
    }   
}

WellFilterFluorescence

public class WellFilterFluorescence {

    List<FilterFluorescence> data;

    public List<FilterFluorescence> getData() {
        return data;
    }

    public void setData(List<FilterFluorescence> data) {
        this.data = data;
    }
}

PlateFilterFluorescence

public class PlateFilterFluorescence {

    private List<WellFilterFluorescence> wellFilterFluorescence;

    public List<WellFilterFluorescence> getWellFilterFluorescence() {
        return wellFilterFluorescence;
    }

    public void setWellFilterFluorescence(List<WellFilterFluorescence> wellFilterFluorescence) {
        this.wellFilterFluorescence = wellFilterFluorescence;
    }

}

RawDataCurve

public class RawDataCurve {

    private List<PlateFilterFluorescence> plateFilterFluorescence;

    public void setPlateFilterFluorescence(List<PlateFilterFluorescence> plateFilterFluorescence ) {
        this.plateFilterFluorescence = plateFilterFluorescence;
    }

    public List<PlateFilterFluorescence> getPlateFilterFluorescence() {
        return this.plateFilterFluorescence;
    }

}

И я отправляю List<RawDataCurve> как ответ API, который выглядит как показано ниже

[
  {
    "plateFilterFluorescence": [
      {
        "wellFilterFluorescence": [
          {
            "data": [
              {
                "filter": "X1_M1",
                "fluorescence": 118303.515625
              },
              {
                "filter": "X4_M4",
                "fluorescence": 144837.296875
              }
            ]
          }
         ]
        }
       ]
     },
    {
    "plateFilterFluorescence": [
      {
        "wellFilterFluorescence": [
          {
            "data": [
              {
                "filter": "X1_M1",
                "fluorescence": 118303.515625
              },
              {
                "filter": "X4_M4",
                "fluorescence": 144837.296875
              }
            ]
          }
         ]
        }
       ]
     }
]

Как я могу удалить имена атрибутов в преобразованном JSON, созданном Джексоном, и каким должен быть лучший способ сделать это?Мой нынешний подход выглядит грязным.

1 Ответ

0 голосов
/ 30 мая 2018

В соответствии с вашими желаниями -

{

"data": [["x1-m1",128650.3],["x2-m2", 19589.033]],....

}

Я бы посоветовал не повторять данныеобъект узла и имеет только повторяющееся содержимое внутри него, и вы можете структурировать его так:

{

"data": [ [ "x1-m1", 128650.3 ], [ "x2-m2", 19589.033 ], [ "x3-m3", 12589.011 ], ....., ... ]

}

Сформируйте ваш объект, как показано ниже -

public class RawDataCurve {

List<FilterFluorescence> data;

    public List<FilterFluorescence> getData() {
        return data;
    }

    public void setData(List<FilterFluorescence> data) {
        this.data = data;
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...