• fastJson + lombok + 属性名命名 踩坑点


    JavaBean属性名要求:前两个字母要么都大写,要么都小写

    package com.jdyh.worker.project.controller;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import lombok.Data;
    
    import java.beans.BeanInfo;
    import java.beans.Introspector;
    import java.beans.PropertyDescriptor;
    
    // https://www.cnblogs.com/threecc/archive/2011/09/05/2167667.html     https://www.jb51.net/article/113074.htm
    //lombok 与 手动生成getter的区别
    public class dd3 {
    
    
        public static void main(String[] args) throws Exception {
            // java基础之内省(Introspector)操作javabean属性的理解(主要用于开发框架): http://blog.sina.com.cn/s/blog_e3bab1310102v7k3.html
            BeanInfo beanInfo = Introspector.getBeanInfo(Person.class);
            PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
            for (int i = 0; i < pds.length; i++) {
                System.out.println(pds[i].getName());
            }
            Person person = new Person();
            person.setAA("1");
            person.setBb("2");
            person.setCC("3");//lombok
    //        person.setcC("3");//手动生成getter
            String d2 = toJsonStr(person);
            System.out.println("---20-->" + d2);
            JSONObject d3 = toJson(d2);
            System.out.println("---21-->" + d3);
            Person d4 = jsontoBean(d3);
            System.out.println("---22-->" + d4.toString());
    
        }
    
        public static String toJsonStr(Object object) {
            return JSON.toJSONString(object);
        }
    
        public static JSONObject toJson(String str) {
            return JSON.parseObject(str);
        }
    
        public static Person jsontoBean(JSON json) {
            return JSON.toJavaObject(json, Person.class);
        }
    
        @Data
        static class Person {//这是一个JavaBean
            private String AA;
            private String Bb;
            private String cC;
    
            public String getAA() {
                return AA;
            }
    
            public void setAA(String aa) {
                AA = aa;
            }
    
            public String getBb() {//decapitalize(Bb)会得出属性是bb,实际是Bb
                return Bb;
            }
    
            public void setBb(String bb) {
                Bb = bb;
            }
    
            public String getCC() {//decapitalize(CC)会得出属性是CC,实际是cC
                return cC;
            }
    
            public void setCC(String cc) {
                cC = cc;
            }
    
        }
    }
  • 相关阅读:
    无法上网排查解决方案
    远程连接虚拟机失败解决方案
    xshell5 优化方案
    centos6.9系统优化
    阿里云slb+https 实践操作练习
    cobbler 无人值守系统安装
    分治法——大整数相乘
    杭电1006
    使用KNN对iris数据集进行分类——python
    python 当pip不能用的时候可以去找python安装包
  • 原文地址:https://www.cnblogs.com/hahajava/p/10848380.html
Copyright © 2020-2023  润新知