Java 从映射中获取键值对
我有以下代码来检索map的键值对:Java 从映射中获取键值对,java,arrays,json,hashmap,Java,Arrays,Json,Hashmap,我有以下代码来检索map的键值对: countries = BeneficiaryJSONParser.parseCountriesFeed(result); for(Map.Entry<String, Object> entry: countries.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } 我想将数据作为一个带有键和值的数组来获取。因为我想把那些键值对放进
countries = BeneficiaryJSONParser.parseCountriesFeed(result);
for(Map.Entry<String, Object> entry: countries.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
我想将数据作为一个带有键和值的数组来获取。因为我想把那些键值对放进去
final MyData items[] = new MyData[3];
items[0] = new MyData( "234","United Arab Emirates" );
items[1] = new MyData( "103","India" );
items[2] = new MyData( "210","Sri Lanka" );
.
.
.
您只需将每个条目转换为MyData:
List<MyData> data = new ArrayList<> ();
for (Map.Entry<String, Object> e: countries.entrySet()) {
data.add(new MyData(e.getKey(), String.valueOf(e.getValue());
}
final MyData[] items = data.toArray(new MyData[0]);
您使用的是什么JSON库?为什么不将其反序列化为POJO?可能与@itrollin98重复:实际上问题不是迭代
Map
中的所有条目。这是我需要迭代的数据
(在输出中描述)当我尝试使用System.out.println(Arrays.toString(items))时,它给了我[数据、状态、代码]
代码>我需要数据中的国家/地区列表
目标我不确定我是否了解您想要的,但我建议的解决方案中没有包括的内容。
List<MyData> data = new ArrayList<> ();
for (Map.Entry<String, Object> e: countries.entrySet()) {
data.add(new MyData(e.getKey(), String.valueOf(e.getValue());
}
final MyData[] items = data.toArray(new MyData[0]);
final MyData[] items = countries.entrySet().stream()
.map(e -> new MyData(e.getKey(), String.valueOf(e.getValue()))
.toArray(MyData[]::new);