![](/img/trans.png)
[英]JSON to POJO: How to generate abstract java class names from unique JSON fields?
[英]generate json to a unique custom class
我對Java非常陌生,只是從json開始...
我有以下json文件:
"step1": {
"version": 1,
"items": {
"run": false,
"jump": true
}
},
"step2": {
"version": "None",
"items": {
"happy": true,
"sad": false
}
}
我在我的主要應用中使用Gson是這樣的:
Gson gs = new Gson();
Content tmp = gs.fromJson(<json string>, Content.class);
我的課:
public class Content {
@SerializedName("step1")
private Step step1;
@SerializedName("step2")
private Step step2;
}
每個步驟類:
public class Step{
@SerializedName("version")
private String version;
@SerializedName("items")
???????
}
如您所見,“ ?????” 部分是我想了解的內容-如何在不知道字段名稱的情況下轉換項目? 意味着HashMap /另一個可迭代對象。 我可以使用方法進行初始化嗎?
我嘗試使用構造函數創建Item類,但是在這種情況下我不明白如何使用它。
您可以使用Map<String, Boolean>
來存儲項目。 您的Step
類可以是這樣的:
public class Step {
private String version;
private Map<String, Boolean> items;
}
然后,您可以將值添加到地圖:
Step step = new Step();
step.setVersion("None");
Map<String, Boolean> items = new HashMap<>();
items.put("happy", Boolean.TRUE);
items.put("sad", Boolean.FALSE);
step.setItems(items);
希望對您有幫助。
對我有用的解決方案是:
public class Step{
@SerializedName("version")
private String version;
@SerializedName("items")
private HashMap<String,Boolean> items;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.