关于FastJson中jsonArray转换成list集合的方法

本文介绍如何从HTTP接口返回的JSON字符串中,提取特定字段并转化为List。通过示例代码演示了使用Java的JSON库进行数据解析的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日常开发的时候,相信大部分同学不是在调用接口,就是在调用接口的路上,那么关于调用接口之后返回的数据,也会有多种的不同的处理情况,今天就分享一个遇到调用接口之后需要其中的一个数据转为 list的情况
以下是本文目录大纲:
1.接口端的数据
2.转化格式

接口端数据返回

调用http接口 返回数据类型是String

public static void main(String[] args) {
        HashMap<String, String> hashMap = new HashMap<>();
        hashMap.put("__token__",getToken());
        String s = doGet("http://app-center.alibaba-inc.com/appinfo/v1/serverless/function_groups/top-odins/functions", hashMap);
        System.out.println("Result:"+s);
    }

对于返回值s 我们看下返回值的具体格式就是一个对象,而我们的目标是取到name所对应的值,那么步骤就是
1.先取到items对应的value1
2.在取到value1 中 metadata作为key的相对应的value2
3.最后取到value2中的name作为key的value3
在这里插入图片描述

格式转化

1.先获取到JsonObject对象

JSONObject jsonObject = JSON.parseObject(s);

2.取到JsonArray

JSONArray jsonArray = jsonObject.getJSONArray("items");

3.将数组转为list

ArrayList<String> arrayList = Lists.newArrayList();
        for (int i = 0; i < jsonArray.size(); i++) {
            Map metadata = (Map)jsonArray.getJSONObject(i).get("metadata");
            String name = (String)metadata.get("name");
            arrayList.add(name);
        }

这样之后,就可以得到里面的具体的值信息了,当然也可以封装一个方法,用来专门取到其中的某一个值,看具体的需要就好了。希望可以帮到你

若有不正,多多见谅
若有雷同,算我抄你

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值