You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用集合Stream将JSON字符串列表转换为Users对象列表?

将JSON字符串列表转换为Users对象列表的几种方案

首先需要修正你的Users类定义(存在语法错误,且序列化工具需要必要的构造函数和访问方法):

public class Users {
    private int id;
    private String name;

    // 无参构造函数(序列化工具必须)
    public Users() {}

    // 全参构造函数(可选)
    public Users(int id, String name) {
        this.id = id;
        this.name = name;
    }

    // Getter和Setter方法
    public int getId() { return id; }
    public void setId(int id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

注意:

你提供的示例JSON格式存在错误,正确的用户JSON数组应该是:

[{"id":"24","name":"name"},{"id":"24","name":"name"}]

每个元素是独立的JSON对象,而非带user1:这样的键。


方案1:使用Jackson(Spring生态常用)

Jackson是Java生态中最常用的JSON处理库,Spring默认集成它。

转换代码:

import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
import java.util.stream.Collectors;

// 建议将ObjectMapper声明为全局单例,避免重复创建开销
ObjectMapper objectMapper = new ObjectMapper();

List<Users> userList = users.stream()
    .map(jsonStr -> {
        try {
            // 将单个JSON字符串转为Users对象
            return objectMapper.readValue(jsonStr, Users.class);
        } catch (Exception e) {
            // 处理解析异常,比如打印日志或过滤无效数据
            e.printStackTrace();
            return null;
        }
    })
    .filter(user -> user != null) // 剔除解析失败的元素
    .collect(Collectors.toList());

方案2:使用Gson(Google出品)

Gson是Google开发的轻量JSON库,使用简单直观。

转换代码:

import com.google.gson.Gson;
import java.util.List;
import java.util.stream.Collectors;

// Gson实例可全局复用
Gson gson = new Gson();

List<Users> userList = users.stream()
    .map(jsonStr -> gson.fromJson(jsonStr, Users.class))
    .collect(Collectors.toList());

方案3:使用Fastjson(阿里出品)

Fastjson是阿里开发的高性能JSON库,解析速度较快。

转换代码:

import com.alibaba.fastjson.JSON;
import java.util.List;
import java.util.stream.Collectors;

List<Users> userList = users.stream()
    .map(jsonStr -> JSON.parseObject(jsonStr, Users.class))
    .collect(Collectors.toList());

内容的提问来源于stack exchange,提问作者clement mensah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 00:15:36