将枚举类型,转化成json

雨点打透心脏的1/2处 2022-09-27 06:26 324阅读 0赞

通过反射机制,将枚举类型转化为json.

  1. public static String toJson(Enum<?>[] enumValues) throws IllegalAccessException, InvocationTargetException {
  2. StringBuffer buffer=new StringBuffer("[");
  3. boolean obj1st=true;
  4. for (Object obj : enumValues) {
  5. if(obj1st){
  6. obj1st=false;
  7. }else{
  8. buffer.append(",");
  9. }
  10. buffer.append("{");
  11. Method[] methods = obj.getClass().getMethods();
  12. boolean method1st=true;
  13. for (int i = 0; i < methods.length; i++) {
  14. Method method = methods[i];
  15. //获取枚举值的get方法
  16. if (method.getName().startsWith("get") && method.getParameterTypes().length == 0 && !method.getName().contains("Class")) {
  17. //处理逗号
  18. if(method1st){
  19. method1st=false;
  20. }else{
  21. buffer.append(",");
  22. }
  23. //将get方法的get去掉,并且首字母小写
  24. String name = method.getName().replace("get","");
  25. buffer.append("\"" + name.substring(0, 1).toLowerCase() + name.substring(1) + "\":\"");
  26. buffer.append(method.invoke(obj)+"\"");
  27. }
  28. }
  29. buffer.append("}");
  30. }
  31. buffer.append("]");
  32. return buffer.toString();
  33. }

发表评论

表情:
评论列表 (有 0 条评论,324人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C#——类型

    C\——枚举类型 枚举类型 是由基础整型数值类型的一组命名常量定义的值类型。 若要定义枚举类型,请使用 enum 关键字并指定枚举成员 的名称: enum Se

    相关 类型

    枚举类型的定义和枚举变量的说明  1.  枚举的定义枚举类型定义的一般形式为:      enum 枚举名\{ 枚举值表 \};  在枚举值表中应罗列出所有可用值。