考慮一個複雜的JSON字符串的Java GSON:複雜的反序列化JSON字符串
{
"1": {
"name": "1",
"CLUSTERS": {
"3": {
"name": "3",
"SUBCLUSTERS": {
"6": {
"INSTANCES": [
{
"SERVER": "4",
"ID": "133",
"DESCR": "Hi"
},
{
"SERVER": "5",
"ID": "6",
"DESCR": "Lo"
},
"name": "6"
}
}
}
}
}
}
有數百CLUSTERS
和SUBCLUSTERS
。你將如何去解析這樣一個複雜的Java結構。有沒有辦法去反序列化,而不必創建類如public class Cluster3
和public class Subcluster6
?
到目前爲止,我有這些類:
Cluster.java
public class Cluster {
@SerializedName("SUBCLUSTERS")
private Subcluster subCluster;
@SerializedName("name")
private String name;
}
Subcluster.java
public class Subcluster {
@SerializedName("INSTANCES")
private InstanceArray instanceArray;
}
Site.java
public class Site {
@SerializedName("CLUSTERS")
private Cluster cluster;
@SerializedName("name")
private String name;
}
Instance.java
public class Instance {
@SerializedName("SERVER")
private String serverName;
@SerializedName("ID")
private String instanceId;
@SerializedName("DESC")
private String description;
}
InstanceArray.java
public class InstanceArray {
@SerializedName("INSTANCES")
private List<Instance> instance;
}
但我不認爲我佔實際CLUSTERS
和SUBCLUSTERS
對象本身,如3
和6
。我怎樣才能做到這一點,而不需要爲每個單獨的CLUSTER和SUBCLUSTER對象創建一個類,因爲這不合理?
謝謝您的回答。這可能會花費我很長時間來閱讀所有這些,因爲所有的代碼示例都是用於簡單的字符串,所以我仍然會丟失,但我會給它一個鏡頭。 – UltraSonja