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

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

bash 复制代码
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);
}
相关推荐
q5673152326 分钟前
使用 Python 编辑 XML 文件中的文本字段
xml·java·数据库·python·sqlite
LeMay0827 分钟前
基础算法——排序算法(冒泡排序,选择排序,堆排序,插入排序,希尔排序,归并排序,快速排序,计数排序,桶排序,基数排序,Java排序)
java·算法·排序算法
Mr。轩。28 分钟前
cn.afterturn.easypoi.exception.excel.ExcelExportException: Excel导出错误 -> 修正过程。
java·excel·导出
大山很山1 小时前
Python简介和程序设计思想 |【python技能树知识点1~2】
java·网络·python
果粒陈爱写代码1 小时前
SpringBoot day 1105
java·spring boot·后端
colman wang1 小时前
Java入门二刷
java·开发语言
GraduationDesign1 小时前
基于SpringBoot的免税商品优选购物商城的设计与实现
java·vue.js·spring boot·后端·html5
->yjy2 小时前
springboot - 定时任务
java·spring boot·后端
非往2 小时前
五、Java并发 Java Google Guava 实现
java·开发语言·guava
Gauss松鼠会2 小时前
GaussDB Ustore存储引擎解读
java·前端·数据库·gaussdb