如何定义json的轨迹来反序列化这个json
"user": {
"authority": "user",
"title": "Renata Tebaldi Serenata Tebaldi [Disc 2]",
"artist": "Renata Tebaldi",
"tracks": {
"1": "Track 01 - BELLINI: Vaga luna che inargenti",
"2": "Track 02 - BELLINI: Per pieta bel ‘idol mio",
"3": "Track 03 - MASCAGNI: M’ama ... Non m’ama",
"4": "Track 04 - RESPIGHI: Notte",
"5": "Track 05 - TOSTI: ‘A vuchella",
"6": "Track 06 - DAVICO: O luna che fa lume",
"7": "Track 07 - DONIZETTI: Me voglio fa ‘na casa",
"8": "Track 08 - MASCAGNI: La tua Stella",
"9": "Track 09 - TOSTI: Sogno",
"10": "Track 10 -ROSSINI: L’invito",
"11": "Track 11 - ZANDONAI: L’assiulo",
"12": "Track 12 - CIMARA: Stormello",
"13": "Track 13 - PONCHIELLI: Noi leggevamo insieme",
"14": "Track 14 - MASCAGNI: Serenato",
"15": "Track 15 - PARISOTTI: Se tu m’ami",
"16": "Track 16 - PARADISI: M’ha presa alla sua ragna",
"17": "Track 17 - SCARLATTI: O cessati di piagarmi",
"18": "Track 18 - GLUCK: O dell mio dolce ardor",
"19": "Track 19 - RICCI: Il carrettiere del Vomero",
"20": "Track 20 - MERCADANTE: La sposa del marinaro",
"21": "Track 21 - BELLINI: Malliconia, ninfa gemtile",
"22": "Track 22 - PUCCINI: E l’luccelino"
}
},
我对用户的定义如下
public class UnitiCoreUser
{
private String authority;
private String artist;
private String title;
public String getAuthority()
{
return authority;
}
public void setAuthority(String authority)
{
this.authority = authority;
}
public String getArtist()
{
return artist;
}
public void setArtist(String artist)
{
this.artist = artist;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
}
我的问题是track,因为其中的元素不是按名称固定的,也就是说它们都是相同的,但是标记为1,2,3,4,。。。所以不能只是有一系列的轨迹。
e、 g轨道[]轨道;
4条答案
按热度按时间7vux5j2d1#
gson的类型适配器可以处理一些奇怪的事情。这些类型适配器可以读/写将它们Map到类或从类Map到类的json元素,并进行一些额外的检查(例如,类似数组的Map验证)。
然后,Map对象应该知道如何通过注解相应的字段将json对象转换为列表或数组:
然后它就会起作用:
输出:
2w3rbyxf2#
尝试使用属性Map<string,string>轨迹
1szpjjfi3#
你必须使用
它将自动反序列化为Map。
wnvonmuf4#
尝试使用
Map
:下面是一个示例(您展示的类和您展示的json也不完全匹配):