将Json对象存储在列表中

时间:2017-04-25 14:43:27

标签: java json gson

我想从一个内部有很多不同对象的JSON对象创建一个对象列表。所有内部对象都具有相同的属性。它们看起来像这样:

{
    "data": {
        "MonkeyKing": {
            "title": "the Monkey King",
            "id": 62,
            "key": "MonkeyKing",
            "name": "Wukong"
        },
        "Jax": {
            "title": "Grandmaster at Arms",
            "id": 24,
            "key": "Jax",
            "name": "Jax"
        },
}

问题是,我不想使用名称来访问对象,但就像我对列表一样。 对象的Java表示如下所示:

public class Champion 
{
    String title;
    int id;
    String key;
    String name;
}

所以我想做的是,我想把这些冠军对象放在一个使用Json的列表中。我的问题是我需要使用Object的名称来获取它们。那么有没有办法使用Gson将“数据” - 对象的内容转换为列表?

1 个答案:

答案 0 :(得分:1)

您可以使用密钥访问JSON。查看this的Java代码。

JSONObject parse = JSON.parseObject("");
for (Map.Entry<String, Object> entry : parse.entrySet()) {
    Champion myChamp = entry.getValue()); // possibly casting necessary
}