我发现将“非0到n”列表(例如可以在PHP中使用的“非0到n”数组)序列化为JSON格式的唯一方法是:
{
"one": 1,
"two": 2,
"three": 3
}
...只是以一种简单的方式直奔主题。其实我的问题有点复杂。
我正在发送一些数据,我需要按ID对列表进行索引。每个值同时是另一个“文字对象”,但是它们都具有相同的结构。喜欢:
{
"array_list_1": {
"3": {"name": "John", "age": 24},
"5": {"name": "Kale", "age": 23},
"8": {"name": "Laura", "age": 22},
},
"array_list_2": {
"13": {"name": "Mike", "age": 27},
"21": {"name": "Nikolai", "age": 34},
"34": {"name": "Oscar", "age": 23},
},
"manifold_array" = [55,89]
}
当我仅使用OkHttp在Android应用程序中以上述格式接收数据时,我就使用JsonObject
库将每个列表转换为org.json.JSONObject
。但是现在我要重构,而要使用Retrofit,并且我需要创建一个POJO以使用Retrofit在ApiClient
中处理这种格式。
在这种情况下,以哪种方式将属性array_list_1
表示为一个(例如,)在POJO中表示这些“非0到n数组”的正确方法是什么? )LinkedHashMap<Integer, PersonPojo>
,并与翻新兼容吗?
答案 0 :(得分:0)
它与Retrofit兼容吗?
Retrofit不负责映射传递给Retrofit的GsonConverterFactory.create()
方法的POJO / List / Map builder
。并且是完全可以 拨打地图。
上面的JSON structure
可以由以下数据结构表示:-
LinkedHashMap<String, LinkedHashMap<String, PersonPojo>> map
PersonPojo
代表:-
{"name": "Mike", "age": 27}