簡體   English   中英

Java LibGDX如何解析JSON?

[英]Java LibGDX How to parse an JSON?

我有一個json文件,內容如下:

{
players: [
    {
        name: "",
        hp: 100
    },
    {
        name: "",
        hp: 120
    }
],
weapons: [
    {
        name: "Desert Eagle",
        price: 100
    },
    {
        name: "AK-47",
        price: 150
    }
]
}

如何將其解析為一系列武器? 我已經將此文件的內容作為String獲取。 然后我使用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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM