Android:使用改型库获取JSON数据中的第一个值

Android:使用改型库获取JSON数据中的第一个值,android,json,retrofit,Android,Json,Retrofit,我正在使用Android中的改型库读取JSON数据。 我只想从下面的JSON中读取国家名称,即仅读取值。是否可以使用改型库读取此类JSON数据 { "China": ["Guangzhou", "Fuzhou", "Beijing"], "Japan": ["Tokyo", "Hiroshima", "Saitama", "Nihon'odori"], "Thailand": ["Bangkok", "Chumphon", "Kathu", "Phang Khon"],

我正在使用Android中的
改型
库读取
JSON
数据。 我只想从下面的
JSON
中读取国家名称,即仅读取值。是否可以使用
改型
库读取此类
JSON
数据

{
    "China": ["Guangzhou", "Fuzhou", "Beijing"],
    "Japan": ["Tokyo", "Hiroshima", "Saitama", "Nihon'odori"],
    "Thailand": ["Bangkok", "Chumphon", "Kathu", "Phang Khon"],
    "United States": ["Mukilteo", "Fairfield", "Chicago", "Hernando", "Irving", "Baltimore", "Kingston"],
    "India": ["Bhandup", "Mumbai", "Visakhapatnam"],
    "Malaysia": ["Pantai", "Kuala Lumpur", "Petaling Jaya", "Shah Alam"]
}
List List=new ArrayList();
迭代器iter=json.keys();
while(iter.hasNext()){
String key=iter.next();
列表。添加(键);
试一试{
Object value=json.get(key);
}捕获(JSONException e){
//出了点问题!
}
}
Log.d(“TAG”,list.toString());
例如:

public class Country{
    private List<String> name;

}
公共类国家{
私人名单名称;
}
关联数组转换为Java中的映射:

Map<String, Country > countries = new Gson().fromJson(json, new TypeToken<Map<String, Country >>(){}.getType());
Map countries=new Gson().fromJson(json,new TypeToken(){}.getType());
在改装中,只需添加到模型类:

@Expose
 private Map<String, Country> result;
@Expose
私有地图结果;
您可以使用
HashMap
作为改装结果obj并获取密钥

或者用字符串获取它,然后将其转换为hasmap

 val typeToken: Type = object : TypeToken<HashMap<String, ArrayList<String>>>()
        {}.type
 val result = Gson().fromJson<HashMap<String, ArrayList<String>>>(tmp, typeToken)
val-typeToken:Type=object:typeToken()
{}.type
val result=Gson().fromJson(tmp,typeToken)

然后你可以通过键进行迭代。

我永远不会理解为什么有些人会将数据作为键发送。。。我的意思是,这是一个伪装成地图的列表。现在,您必须从
JsonObject
手动解析它。这是我在线获取的JSON格式类型,因此为了节省时间,我希望使用相同的更新库。我认为您能做的最好的事情是我知道可以使用此方法。我正在寻找一种使用翻新库的方法。谢谢你。
 val typeToken: Type = object : TypeToken<HashMap<String, ArrayList<String>>>()
        {}.type
 val result = Gson().fromJson<HashMap<String, ArrayList<String>>>(tmp, typeToken)