Java объект - как создавать объекты на лету - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть объект, подобный следующему ... это будет объект ответа от вызова API Rest.

{
    "date": "2020-01-04",
    "oneDayLag": "1.54 ",
    "oneDayLagDayWeight": "1",
    "oneDayLagDate": "2020-01-02",
    "twoDayLag": "1.55 ",
    "twoDayLagDayWeight": "2",
    "twoDayLagDate": "2019-12-31",
    "threeDayLag": "1.54 ",
    "threeDayLagDayWeight": "1",
    "threeDayLagDate": "2019-12-30",
    "fourDayLag": "1.53 ",
    "fourDayLagDayWeight": "3",
    "fourDayLagDate": "2019-12-27",
    "fiveDayLag": "1.52 ",
    "fiveDayLagDayWeight": "1",
    "fiveDayLagDate": "2019-12-26",
    "sixDayLag": "1.52 ",
    "sixDayLagDayWeight": "2",
    "sixDayLagDate": "2019-12-24",
    "sevenDayLag": "1.52 ",
    "sevenDayLagDayWeight": "1",
    "sevenDayLagDate": "2019-12-23",
    "eightDayLag": "1.53 ",
    "eightDayLagDayWeight": "3",
    "eightDayLagDate": "2019-12-20",
    "nineDayLag": "1.53 ",
    "nineDayLagDayWeight": "1",
    "nineDayLagDate": "2019-12-19",
    "tenDayLag": "1.53 ",
    "tenDayLagDayWeight": "1",
    "tenDayLagDate": "2019-12-18"
}

Мне нужно создать уменьшенную / уменьшенную версию объекта в зависимости от количества дней - например, если число дней равно «4», тогда объект ответа должен быть следующим ...

{
    "date": "2020-01-04",
    "oneDayLag": "1.54 ",
    "oneDayLagDayWeight": "1",
    "oneDayLagDate": "2020-01-02",
    "twoDayLag": "1.55 ",
    "twoDayLagDayWeight": "2",
    "twoDayLagDate": "2019-12-31",
    "threeDayLag": "1.54 ",
    "threeDayLagDayWeight": "1",
    "threeDayLagDate": "2019-12-30",
    "fourDayLag": "1.53 ",
    "fourDayLagDayWeight": "3",
    "fourDayLagDate": "2019-12-27"
}

Я могу написать много кода (сочетание моделей, служб, if-else и c.) Для создания таких объектов со значением от 1 до 10, но Есть ли более элегантный способ решения этой проблемы в Java?

1 Ответ

1 голос
/ 27 февраля 2020

Как написано java - используйте массив. Пример:

{
  "date": "2020-01-04",
  "lags": [
    {
      "lag": "1.54 ",
      "lagDayWeight":"1",
      "date": "2020-01-02",
      "lagDay": "1"

    },
    {
      "lag": "1.55 ",
      "lagDayWeight":"2",
      "date": "2019-12-31",
      "lagDay": "2"
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...