我有一个包含如下内容的 json 文件:
{
players: [
{
name: "",
hp: 100
},
{
name: "",
hp: 120
}
],
weapons: [
{
name: "Desert Eagle",
price: 100
},
{
name: "AK-47",
price: 150
}
]
}
如何解析成武器数组?我已经将此文件的内容作为字符串获取。然后我使用 libgdx JsonReader:
JsonValue json = new JsonReader().parse(text);
我还有一个武器类:
class Weapon {
private String name;
private int price;
}
接下来怎么把所有的武器都放到一个数组里?
最佳答案
libGDX中没有将解析后的Json自动映射到Java对象,所以你必须自己遍历Json并创建合适的对象。对于您如何解析 weapons
的示例:
JsonValue json = new JsonReader().parse(text);
Array<Weapon> weapons = new Array<Weapon>();
JsonValue weaponsJson = json.get("weapons");
for (JsonValue weaponJson : weaponsJson.iterator()) // iterator() returns a list of children
{
Weapon newWeapon = new Weapon();
newWeapon.name = weaponJson.getString("name");
newWeapon.price = weaponJson.getInt("price");
weapons.add(newWeapon);
}
关于Java LibGDX 如何解析 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266823/