0

我有一个像下面这样的对象...它将是来自 Rest API 调用的响应对象。

{
    "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 等的组合)来创建介于 1 和 10 之间的对象,但是在 Java 中是否有更优雅的方法来解决这个问题?

4

1 回答 1

1

正如holi-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"
    }
  ]
}
于 2020-02-27T17:12:30.197 回答