优雅的遍历JSONArray,获取里面的数据

news/2024/11/6 4:55:50 标签: java, json

jsonfor_0">最近看到有个同事在遍历json数组的时候,用for循环写了一层有一层,那么是否有简便的写法呢?当然有了,下面就有用流的行驶,优雅的遍历数组,获取我们想要的数据

public static void main(String[] args) {
    String structure = "[{\"key\":\"111\",\"isRequired\":true,\"isNumber\":true,\"isFixed\":true},{\"key\":\"2\",\"isFixed\":true},{\"key\":\"3\",\"isNumber\":true},{\"key\":\"4\",\"isRequired\":true}]";
    JSONArray jsonArray;

    try {
        jsonArray = JSON.parseArray(structure);
    } catch (JSONException e) {
        System.err.println("Invalid JSON format: " + e.getMessage());
        return;
    }

    List<String> unitList = Optional.ofNullable(jsonArray)
            .orElse(new JSONArray())
            .stream()
            .filter(item -> item instanceof JSONObject)
            .map(item -> {
                JSONObject jsonObject = (JSONObject) item;
                String key = jsonObject.getString("key");
                return key;
            })
            .collect(Collectors.toList());

    System.out.println(unitList);
}


http://www.niftyadmin.cn/n/5740184.html

相关文章

Java栈和队列的快速入门

栈和队列 一、栈 Stack1、概念2、基本操作3、常用方法4、举例5、分析 二、队列1、概念2、常用方法3、举例4、分析&#xff1a; 三、力扣算法快速入门232. 用栈实现队列225. 用队列实现栈 感谢 一、栈 Stack 1、概念 在 Java 中&#xff0c;栈&#xff08;Stack&#xff09;是…

DAY18|二叉树Part06|LeetCode: 530.二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236.二叉树的最近公共祖先

目录 LeetCode: 530.二叉搜索树的最小绝对差 基本思路 有序数组法 C代码 双指针法 C代码 LeetCode: 501. 二叉搜索树中的众数 哈希法 C代码 双指针法 C代码 LeetCode: 236.二叉树的最近公共祖先 基本思路 C代码 LeetCode: 530.二叉搜索树的最小绝对差 力扣代码链…

【NOIP普及组】明明的随机数

【NOIP普及组】明明的随机数 C语言实现C实现Java实现Python实现 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 明明想在学校中请一些同学一起做一项问卷调查&#xff0c;为了实验的客观性&#xff0c;他先用计算机生成了N个1到1000之间的随…

给 Docker 配置网络代理

参考 https://www.cnblogs.com/Chary/p/18096678如何优雅的给 Docker 配置网络代理 有时因为网络原因,比如公司 NAT,或其它啥的,需要使用代理。Docker 的代理配置,略显复杂,因为有三种场景。但基本原理都是一致的,都是利用 Linux 的 http_proxy 等环境变量。 Dockerd 代…

2024/11/3 随笔笔记

[NOIP2001 提高组] Car 的旅行路线 题目描述 又到暑假了&#xff0c;住在城市 A 的 Car 想和朋友一起去城市旅游。 她知道每个城市都有 4 4 4 个飞机场&#xff0c;分别位于一个矩形的 4 4 4 个顶点上&#xff0c;同一个城市中两个机场之间有一条笔直的高速铁路&#xff0c…

一步步教你在VMWare安装Windows Server 2022虚拟机

VMWare16安装Windows Server 2022虚拟机 1、镜像下载2、Windows Server 2022安装3、相关配置3.1 修改时区3.2 更改防火墙配置3.2 更改网络连接方式3.3 磁盘格式化3.4 开启远程桌面连接 点击查看VMWare16安装教程 1、镜像下载 Windows Server 2022镜像下载地址 点击Windows Se…

0.推荐序

硬件开发流程-推荐序 硬件产品开发非常复杂&#xff0c;涉及产品定义、成本控制、质量管理、进度控制、研发人员管理、物料管理、售后服务等诸多事项与环节。合理的流程是我们管理如此复杂研发活动的必要手段&#xff0c;是我们一次把事情做正确的重要保障。合理的流程可以积淀…

【SSE】前端vue3使用SSE,EventSource携带请求头

一、SSE介绍 1. 定义 SSE&#xff08;Server-Sent Events&#xff09;是一种基于 HTTP 协议&#xff0c;用于实现服务器主动向客户端推送数据的技术。它在客户端与服务器之间建立一条持久化连接&#xff0c;并通过这条连接实现服务器向客户端的实时数据推送&#xff0c;而客户…