我有一个如下所示的对象...它将是来自 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 中是否有更优雅的方法来解决这个问题?
最佳答案
正如 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"
}
]
}
关于Java 对象 - 如何动态创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60438190/