main方法
public static void main(String[] args) {
try {
String json = "[
{
"user1":{
"12":"age1",
"23":"age2",
"34":"age3"}
},
{
"user2":{
"90":"scrouse1",
"87":"scrouse2",
"98":"scrouse3"}
}]";
JSONArray jsonArray = JSONArray.parseArray(json);
for (Object object : jsonArray) {
Map<String, Object> map = JSONObject.parseObject(JSON.toJSONString(object));
} catch(Exception e){
}
}
}
demo1 根据entrySet()使用迭代器获取所有value值(性能较高)
private void handler (Map < String, String > map){
Iterator<Map.Entry<String, Object>> entryIt = map.entrySet().iterator();
while (entryIt.hasNext()) {
Map.Entry<String, Object> entity = entryIt.next();
Map<String, String> entityValue = (Map<String, String>) entity.getValue();
Iterator<Map.Entry<String, String>> entryIt = entityValue .entrySet().iterator();
while (entryIt.hasNext()) {
Map.Entry<String, String> entity = entryIt.next();
String val = entity.getValue();
String busType = entity.getKey();
System.out.println(busType + val);
}
}
}
demo2
private void handler (Map < String, String > map){
for(String k : map.keySet()){
Map<String, String> entityValue = (Map<String, String>) map.get(k);
for(String k2 : entityValue .keySet()){
System.out.println(k2+ entityValue .get(k2));
}
}
}
以下两种不推荐使用
demo3 通过Map.entrySet遍历key和value,容量大时推荐使用
private void handler (Map < String, String > map){
for(Map.Entry<String, String> entry : map.entrySet()){
Map<String, String> entityValue = (Map<String, String>) map.getValue;
for(Map.Entry<String, String> entry : entityValue.entrySet()){
System.out.println(k2+ entityValue .get(k2));
}
}
}
demo4 根据keySet()使用迭代器获取所有value值(性能较低)
private void handler (Map < String, String > map){
Iterator<String> it = map.keySet().iterator();
while(it.hasNext()){
String key = it.getKey();
Map<String, String> entityValue = (Map<String, String>) map.get(key );
Iterator<String> it2 = entityValue .keySet().iterator();
while(it2 .hasNext()){
String key2 = it2.getKey();
System.out.println(key2 + it2.get(key2 ));
}
}
}
转载https://blog.youkuaiyun.com/qq_19694251/article/details/113524049
本文详细介绍了在Java中如何解析JSON字符串并遍历Map对象的四个不同方法,包括使用JSONArray和JSONObject的parse方法,以及两种不同的遍历Map的技巧。文章通过代码示例展示了每种方法的实现,包括性能较高的entrySet()迭代器方式和keySet()迭代器方式,以及不推荐的Map.entrySet和keySet()遍历方式。对于大规模数据处理,推荐使用entrySet()进行遍历。
1万+

被折叠的 条评论
为什么被折叠?



