2017-04-25 101 views
-2

我想从内部有很多不同对象的JSON对象创建一个对象列表。所有内部对象都具有相同的属性。他们是这样的:在列表中存储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列表。我的问题是,我需要使用对象的名称来获取它们。那么有没有办法使用Gson将“数据” - 对象的内容转换为列表?

+2

用英文写的请 –

+2

欢迎来到Stack Overflow。请将您的问题翻译成英文,以便Stack Overflow的所有成员都可以读取它。 – Jens

+0

我不确定你的意思是“与一个列表”。您的Java表示是否“使用名称”(即属性)? –

回答

1

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

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