zoukankan      html  css  js  c++  java
  • java枚举转json

    1、背景

    java后端的枚举类型,要展示到前端,提供给用户进行下拉选择,java后端需要封装enum为json字符串提供给前端,需要首先将枚举类型转为list,然后再转为json字符串。

    2、方案

    方案也很简单,使用EnumSet.allOf(TestEnum.class),将数据获取到再塞到list中就可以了。

    代码如下:

    import com.alibaba.fastjson.JSONObject;
    import java.util.ArrayList;
    import java.util.EnumSet;
    import java.util.HashMap;
    import java.util.List;
    
    public enum TestEnum {
        TEST_ONE(1, "软件老王1"),
        TEST_TWO(2, "软件老王2"),
        TEST_THREE(3, "软件老王3"),
        TEST_FOUR(4, "软件老王4"),
        TEST_FIVE(5, "软件老王5")
        ;
        /*位置编码*/
        private Integer code;
        /*位置名称*/
        private String name;
    
        TestEnum(Integer code, String name) {
            this.code = code;
            this.name = name;
        }
    
        public static HashMap<Integer,String> getEnumMap() {
            HashMap<Integer, String> map = new HashMap<>();
            for (TestEnum testEnum : EnumSet.allOf(TestEnum.class)) {
                map.put(testEnum.code, testEnum.name);
            }
            return map;
        }
        public static List<HashMap<String,String>> getEnumList() {
            List<HashMap<String, String>> list = new ArrayList<>();
            for (TestEnum testEnum : EnumSet.allOf(TestEnum.class)) {
                HashMap<String, String> map = new HashMap<>();
                map.put("code",testEnum.code.toString());
                map.put("name",testEnum.name);
                list.add(map);
            }
            return list;
        }
    
        public static void main(String[] args) {
            System.out.println(JSONObject.toJSON(TestEnum.getEnumMap()));
            System.out.println( JSONObject.toJSON(TestEnum.getEnumList()));
        }
    }
    

    代码简要说明:

    (1)getEnumMap,是获取map集合;

    (2)getEnumList是获取list集合;

    (3)两个方法均为静态方法(static),通过类.方法直接调用就可以了。


    更多信息请关注公众号:「软件老王」,关注不迷路,软件老王和他的IT朋友们,分享一些他们的技术见解和生活故事。

    更多信息请关注公众号:「软件老王」,关注不迷路,IT技术与相关干货分享,回复关键字获取对应干货,本文版权归作者软件老王所有,转载需注明作者、超链接,否则保留追究法律责任的权利。
  • 相关阅读:
    jquery 滚动条插件 jquery.nanoscroller.js
    Lost connection to MySQL server at 'reading initial communication packet' 错误解决
    ajax上传图片 jquery插件 jquery.form.js 的方法 ajaxSubmit; AjaxForm与AjaxSubmit的差异
    转:MVC3系列:~Html.BeginForm与Ajax.BeginForm
    转:MVC2表单验证失败后,直接返回View,已填写的内容就会清空,可以这样做;MVC2输出文本;MVC2输出PDF文件
    Java中的Dom4j
    Java插件之Jrebel
    Idea中的一些快捷键
    Java中的XML
    SQL Server 表值函数
  • 原文地址:https://www.cnblogs.com/ruanjianlaowang/p/15001831.html
Copyright © 2011-2022 走看看