2 回答

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊
我認(rèn)為您可以創(chuàng)建 Map 而不是 List (如果您不想編寫(xiě)自定義序列化器和反序列化器)。Bus 的構(gòu)造函數(shù)將類(lèi)似于:
private Map<String, Pasenger> bus = new HashMap<>();
public Bus(List<Pasenger> passengers) {
for (int i = 0; i < passengers.size(); i++){
bus.put("passengers["+i+"]", passengers.get(i));
}
}
對(duì)于只有名字的簡(jiǎn)單乘客,它看起來(lái)像
{"bus":
{
"passengers[0]":{"name":"first"},
"passengers[1]":{"name":"second"}
}
}

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以創(chuàng)建一個(gè)實(shí)現(xiàn) JsonSerializer 的類(lèi)來(lái)指定您希望它如何序列化。
然后在構(gòu)建 Gson 時(shí)注冊(cè)它: Gson gson = new GsonBuilder().registerTypeAdapter(Bus.class, new BusAdapter()).create();
更多信息:https : //github.com/google/gson/blob/master/UserGuide.md#TOC-Writing-a-Serializer
添加回答
舉報(bào)