Android:使用改型库获取JSON数据中的第一个值
我正在使用Android中的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"],
改型
库读取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)