java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java List<JSONObject>数据转换List<T>

Java List<JSONObject>中的数据如何转换为List<T>

作者:CnLg.NJ

这篇文章主要介绍了Java List<JSONObject>中的数据如何转换为List<T>问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Java List<JSONObject>数据转换List<T>

从方法的功能推测,T 应该是一个具体的 Java Bean 类型,用于将 List<JSONObject> 中的数据转换为 List<T>

以下为你详细介绍如何传递泛型 T 以及如何实现该方法。

import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.List;

// 定义一个通用的转换方法
public class GenericConverter {
    public static <T> List<T> convertParamsBean(Class<T> clazz, List<JSONObject> jsonObjectList) {
        List<T> resultList = new ArrayList<>();
        for (JSONObject jsonObject : jsonObjectList) {
            try {
                // 使用 FastJSON 将 JSONObject 转换为指定类型的对象
                T instance = JSONObject.toJavaObject(jsonObject, clazz);
                resultList.add(instance);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return resultList;
    }
}

// 定义一个示例 Bean 类
class ExampleBean {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "ExampleBean{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

public class Main {
    public static void main(String[] args) {
        List<JSONObject> jsonObjectList = new ArrayList<>();

        // 创建示例 JSONObject
        JSONObject jsonObject1 = new JSONObject();
        jsonObject1.put("name", "Alice");
        jsonObject1.put("age", 25);
        jsonObjectList.add(jsonObject1);

        JSONObject jsonObject2 = new JSONObject();
        jsonObject2.put("name", "Bob");
        jsonObject2.put("age", 30);
        jsonObjectList.add(jsonObject2);

        // 调用转换方法,传递 ExampleBean 类的 Class 对象
        List<ExampleBean> exampleBeanList = GenericConverter.convertParamsBean(ExampleBean.class, jsonObjectList);

        // 打印转换后的结果
        for (ExampleBean bean : exampleBeanList) {
            System.out.println(bean);
        }
    }
}

代码解释

convertParamsBean 方法

ExampleBean

这是一个示例的 Java Bean 类,包含 nameage 两个属性,以及对应的 gettersetter 方法。

Main 类的 main 方法

传递泛型 T 的方式

注意事项

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文