在我正在使用的 API 中,我收到某个部分作为纯 JSON 数组,而不是普通的键 => 值对。它很愚蠢,但这就是我必须处理的。
例子:
{"build":29625,"list": [
[312218505,1000,624437010,21997878697,35228,0,0,0],
[186873474,0,0,0,0,-1,0,0]
...
]}
问题是让 Google GSON 将每个数组位置映射到普通对象中的字段。不出所料,没有任何本机支持,我不得不推出自己的解决方案:每个需要转换的“请求”都实现了一个 CustomConvert 接口,该接口具有convertToObjects()
和convertToJson()
方法。每个“条目”都有一堆带有@ArrayPosition(number)
注释的字段。convert 方法在两个列表之间进行转换。
由于这很丑陋,有没有更好的方法来使用 Google GSON 甚至另一个用于 Java 的 JSON 库来做到这一点?