JSONファイルを使用してゲームのキャッシュを作成しようとしています。このデータの作成と検索は、GSONを使用して行います。私は、これらのオブジェクト内に他のオブジェクトも格納されている複数のオブジェクトを含むJSONファイルを持っています。Gsonを使用してJSONファイルから入れ子になったオブジェクトを取得する
私の質問は、このデータを最も適切な方法で取得する方法です。
オブジェクト1:
public class GameItem {
private final int id;
private final String name;
private final String description;
private final int shopValue;
private final ItemStats stats;
public GameItem(int id, String name, String description, int shopValue, ItemStats stats) {
this.id = id;
this.name = name;
this.description = description;
this.shopValue = shopValue;
this.stats = stats;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
public int getShopValue() {
return shopValue;
}
public ItemStats getStats() {
return stats;
}
}
オブジェクト2:
public class ItemStats {
private final int stabAttack;
private final int slashAttack;
private final int crushAttack;
private final int magicAttack;
private final int rangeAttack;
private final int stabDefence;
private final int slashDefence;
private final int crushDefence;
private final int magicDefence;
private final int rangeDefence;
private final int strengthBonus;
private final int prayerBonus;
public ItemStats(int stabAttack, int slashAttack, int crushAttack, int magicAttack, int rangeAttack, int stabDefence, int slashDefence, int crushDefence, int magicDefence, int rangeDefence, int strengthBonus, int prayerBonus) {
this.stabAttack = stabAttack;
this.slashAttack = slashAttack;
this.crushAttack = crushAttack;
this.magicAttack = magicAttack;
this.rangeAttack = rangeAttack;
this.stabDefence = stabDefence;
this.slashDefence = slashDefence;
this.crushDefence = crushDefence;
this.magicDefence = magicDefence;
this.rangeDefence = rangeDefence;
this.strengthBonus = strengthBonus;
this.prayerBonus = prayerBonus;
}
public int getStabAttack() {
return stabAttack;
}
public int getSlashAttack() {
return slashAttack;
}
public int getCrushAttack() {
return crushAttack;
}
public int getMagicAttack() {
return magicAttack;
}
public int getRangeAttack() {
return rangeAttack;
}
public int getStabDefence() {
return stabDefence;
}
public int getSlashDefence() {
return slashDefence;
}
public int getCrushDefence() {
return crushDefence;
}
public int getMagicDefence() {
return magicDefence;
}
public int getRangeDefence() {
return rangeDefence;
}
public int getStrengthBonus() {
return strengthBonus;
}
public int getPrayerBonus() {
return prayerBonus;
}
}
JSONデータ:
[
{
"id": 0,
"name": "Dwarf_remains",
"description": "The_body_of_a_Dwarf_savaged_by_Goblins.",
"shopValue": 1,
"stats": [
"stabAttack": 0,
"slashAttack": 0,
"crushAttack": 0,
"magicAttack": 0,
"rangeAttack": 0,
"stabDefence": 0,
"slashDefence": 0,
"crushDefence": 0,
"magicDefence": 0,
"rangeDefence": 0,
"strengthBonus": 0,
"prayerBonus": 0
]
},
{
"id": 1,
"name": "Toolkit",
"description": "Good_for_repairing_a_broken_cannon.",
"shopValue": 1,
"stats": [
"stabAttack": 0,
"slashAttack": 0,
"crushAttack": 0,
"magicAttack": 0,
"rangeAttack": 0,
"stabDefence": 0,
"slashDefence": 0,
"crushDefence": 0,
"magicDefence": 0,
"rangeDefence": 0,
"strengthBonus": 0,
"prayerBonus": 0
]
},
{
"id": 2,
"name": "Cannonball",
"description": "Ammo_for_the_Dwarf_Cannon.",
"shopValue": 3000,
"stats": [
"stabAttack": 0,
"slashAttack": 0,
"crushAttack": 0,
"magicAttack": 0,
"rangeAttack": 0,
"stabDefence": 0,
"slashDefence": 0,
"crushDefence": 0,
"magicDefence": 0,
"rangeDefence": 0,
"strengthBonus": 0,
"prayerBonus": 0
]
}
]
あなたは罰金をやっている、それは「統計」で行く配列であるため、単に民間最終リスト統計など民間最終ItemStatsの統計を行います。[...]しかし、あなたが不足しています[{} ... 。] jsonの配列の中で、おそらく多分。 –
あなたは何を意味するかわからない、私に例を挙げてくれますか? – Fryslan