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

Java中如何给Object添加多元素实现前端通过ZoneIds.value和name取值

实现方案

你可以通过以下两种方式实现需求,两种方案返回给前端的序列化结构完全一致,都支持通过ZoneIds.value和ZoneIds.name读取对应列表。


方案1:自定义POJO类(推荐,结构清晰易维护)

先定义一个静态数据类承载两个列表属性:

// 静态内部类,和你的gmt方法放在同一个类中即可
static class ZoneIdInfo {
    private List<String> value;
    private List<String> name;

    // 全参构造器
    public ZoneIdInfo(List<String> value, List<String> name) {
        this.value = value;
        this.name = name;
    }

    // 必须添加getter,序列化框架需要通过getter读取属性返回给前端
    public List<String> getValue() {
        return value;
    }

    public List<String> getName() {
        return name;
    }
}

修改存入Map的逻辑:

final Map<String, Object> enums = new HashMap<>();
enums.put("ZoneIds", new ZoneIdInfo(gmtValues(), gmtNames()));

方案2:嵌套Map实现(无需新建类,适合临时场景)

直接用嵌套HashMap存储两个属性,不需要额外创建类:

final Map<String, Object> enums = new HashMap<>();
Map<String, Object> zoneIdAttr = new HashMap<>();
zoneIdAttr.put("value", gmtValues());
zoneIdAttr.put("name", gmtNames());
enums.put("ZoneIds", zoneIdAttr);

两种方案最终返回给前端的JSON结构如下:

{
  "ZoneIds": {
    "value": ["GMT+8", "GMT+0", "..."],
    "name": ["北京", "伦敦", "..."]
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:06:04