【发布时间】:2021-12-08 21:39:19
【问题描述】:
我正在开发一个需要联系 API REST 的 Android 应用程序,该 API REST 提供如下结构的 JSON
{
"TEST1": [
{
"delegate": true,
"unit": "mmHg",
"code": "DIA",
"read": true,
"write": true
},
{
"delegate": true,
"unit": "mmHg",
"code": "SYS",
"read": true,
"write": true
}
],
"TEST2": [
{
"delegate": true,
"unit": "°C",
"code": "TEMPERATURE",
"read": true,
"write": true
}
]}
现在我想将数组中的内部对象映射为具有 5 个字段的简单 Java 对象(例如 MyObject),但是在进行改造调用时如何映射整个对象?我不这么认为
List<List<MyObject>>
适合这种情况,因为我需要知道键(“TEST1”、“TEST2”)。 任何帮助将不胜感激
【问题讨论】:
-
你没有
List<List<MyObject>>,因为外层json不是json数组;您很少有List<MyObject>的实例按顺序打包在不同的键下。 -
但是,您并不需要知道键 -
TEST1和TEST2都包含相同的元素(列表),因此您只需遍历最外层 JSON 和映射的所有键它们的值为Whatever,代表List<MyObject>。然后手动构建那个小部分 - 将这些Whatevers 分配给您的ClassToMap的字段。
标签: java android json retrofit