一、测试数据准备

List<Map<String, String>> result = new ArrayList();
Map<String, String> map = new HashMap<>();
map.put("san", "张三");
map.put("si", "李四");
map.put("wu", "王五");
map.put("wang", "老王");
map.put("lao", "老张");
result.add(map);

二、将list<Map<String, String>>的结构数据转换成json数组

JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSON(result).toString());
System.out.println(jsonArray);

结果如下:
-------------------------------------------------------------------------------------------------

--------------[{"san":"张三","wang":"老王","si":"李四","lao":"老张","wu":"王五"}]-------------------

-------------------------------------------------------------------------------------------------

三、获取json数组中对应key的值

// 1.首先对数据进行遍历
for (Object o : jsonArray) {
// 2.其次再将object转成JsonObject类型
JSONObject jsonObject = (JSONObject) JSONObject.parse(JSON.toJSONString(o));
// 3.最后根据对应key获取对应的value值
System.out.println(jsonObject.get("san"));
System.out.println(jsonObject.get("wang"));
System.out.println(jsonObject.get("si"));
System.out.println(jsonObject.get("lao"));
System.out.println(jsonObject.get("wu"));
} 结果如下:
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
------------------------------张三 老王 李四 老张 王五-----------------------------------------
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------

四、调用Entry对象中的getkey()和getValue()方法获取键值

/**
* 如果既要遍历key又要value,那么建议这种方式,应为如果先获取keySet然后再执行
* map.get(key),map内部会执行两次遍历。
* 一次是在获取keySet的时候,一次是在遍历所有key的时候。
* 当我调用put(key,value)方法的时候,首先会把key和value封装到
* Entry这个静态内部类对象中,把Entry对象再添加到数组中,所以我们想获取
* map中的所有键值对,我们只要获取数组中的所有Entry对象,接下来
* 调用Entry对象中的getKey()和getValue()方法就能获取键值对了
*/
Set<java.util.Map.Entry<String, String>> entrys = map.entrySet();
for (java.util.Map.Entry<String, String> entry : entrys) {
  System.out.println(entry.getKey() + "--" + entry.getValue());
}
 
结果如下:
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
------------------------------------san--张三------------------------------------------
------------------------------------wang--老王-----------------------------------------
------------------------------------si--李四-------------------------------------------
------------------------------------lao--老张------------------------------------------
------------------------------------wu--王五-------------------------------------------
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------

根据数据中的key获取value值的更多相关文章

  1. JavaScript 在函数中使用Ajax获取的值作为函数的返回值

    解决:JavaScript 在函数中使用Ajax获取的值作为函数的返回值,结果无法获取到返回值 原因:ajax默认使用异步方式,要将异步改为同步方式 案例:通过区域ID,获取该区域下所有的学校 var ...

  2. [Jacky] 解决Ext.Net GridPanel 选择的行数据刷新后不能获取最新值

    选择GridPanel中一行数据,当变更数据时并重新刷新之后不能获取最新值,需通过如下方式获取: var internalId = gridPanel.getSelectionModel().getL ...

  3. 我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

    1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: ...

  4. shopnc 导出Excel数据问题实例 && ajax 获取当前值并传递

    任务:从商家中心导出数据,各个商品所属情况. 商品导出到Excel文件功能 /导出exel 功能make-in-lemon public function createExcelOp(){ $mode ...

  5. HtmlAgilityPack中使用xpath获取属性值

    HtmlAgilityPack介绍 HtmlAgilityPack是一个专门用来解析Html的库,它可以使用xml的方式来解析html. 有人说了,html本身不就是xml?是的,html就是xml, ...

  6. JavaScript中获取Map集合中的key和value值(前提是:既不知道key为什么值,也不知道value有哪些值)

    for(var i in maps){//通过定义一个局部变量i遍历获取map里面的所有key值 alert(maps[i]); //通过获取key对应的value值 }

  7. mysql 多条数据中,分组获取值最大的数据记录

    摘要: 多条纪录中,几个字段相同,但是其中一个或者多个字段不同,则去该字段最大(这里只有一个不同) 源数据: 目的是移除:在同一天中只能存在一天数据,则取审核日期最大,数据库脚本如下: SELECT ...

  8. 在JavaScript中获取Map集合中的key和value值(前提是:既不知道key为什么值,也不知道value有哪些值)

  9. 在java中获取Map集合中的key和value值

随机推荐

  1. Java对象和多态

    Java对象和多态 (面向对象) 面向对象基础 面向对象程序设计(Object Oriented Programming) 对象基于类创建,类相当于一个模板,对象就是根据模板创建出来的实体(就像做月饼 ...

  2. 01 | 堆、栈、RAII:C++里该如何管理资源?(极客时间笔记)

    基本概念 堆,英文是 heap,在内存管理的语境下,指的是动态分配内存的区域.这个堆跟数据结构里的堆不是一回事.这里的内存,被分配之后需要手工释放,否则,就会造成内存泄漏. C++ 标准里一个相关概念 ...

  3. oracle sqlplus不支持上下键查看历史记录问题

    我们需要安装rlwrap软件 系统采样: [root@rac-2 src]# su - oracle Last login: Fri Mar 18 23:36:25 CST 2022 on pts/0 ...

  4. 在Blazor中实现拖放(drag and drop)

    前言 我在实现一个含有待办列表功能的页面时,发现了一个好看的设计,它将待办分为--"待办","正在进行",和"已完成"三种状态,并且将待办通 ...

  5. 帝国CMS网站地图生成插件

    可以生成电脑端也可以生成手机端的地图XML. 安装方法: 这个帝国sitemap插件的安装跟其他插件的安装方式一样,介于可能有人不会安装帝国的插件,就写一下吧,以后你们如果碰到帝国插件也可以参考这个. ...

  6. JavaScript学习总结8-DOM

    今天学习了DOM的增删改查 innerText可以用来修改文本的内容,但是无法识别标签,要修改标签样式使用innerHTML 删除节点的步骤:先获取父节点,在通过父节点删除子节点 注意:删除节点是一个 ...

  7. OpenHarmony 3.1 Beta版本关键特性解析——HAP包安装实现剖析

    ​(以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点)​ 石磊 随着社会的不断发展,人们逐渐注重更加高效.舒适.便捷.有趣的生活和工作体验. OpenAtom OpenHa ...

  8. uniapp-h5之canvans上文本的展示

    ctx.font = 'bold 14px arial';ctx.fillStyle = '#e9e6e6';ctx.fillText('长按图片保存到相册', (this.pwidth -250/e ...

  9. SerialPort-4.0.+ 使用说明(Kotlin版本)

    SerialPort-4.0.+ 项目官网 Java版本使用说明 介绍 SerialPort 是一个开源的对 Android 蓝牙串口通信的轻量封装库,轻松解决了构建自己的串口调试APP的复杂程度,让 ...

  10. JVM组成、GC回收机制、算法、JVM常见启动参数、JAVA出现OOM,如何解决、tomcat优化方法

    JVM组成.GC回收机制.算法.JVM常见启动参数.JAVA出现OOM,如何解决.tomcat优化方法