近期一些工作&学习笔记

获取某对象的某字段值

使用场景:

对入参做统一的aop切面处理,对于方法调用的时候,按照需求打印参数列表。

demo:

    public static void main(String[] args) throws Exception{
        People people = new People(1, "name");
        Field userId = people.getClass().getDeclaredField("age");
        //fix: can not access a member of class com.taobao.hangye.irises.People with modifiers "private"
        userId.setAccessible(true);
        Object userIdValue = userId.get(people);
        System.out.println(String.valueOf(userIdValue));
    }

小结:通过反射。

注意:要设置权限(setAccessible=true),不然也拿不到值。

@JSONField是做什么用的

@JSONField是fastjson的一个注解,在fastjson解析一个类为Json对象时,作用到类的每一个属性(field)上。

通过用@JSONField注解一个类的属性,我们可以达到以下目标

指定field对应的key名称:@JSONField(name = “NaMe”)
对于时间字段,指定其格式:@JSONField(format = “yyyy-MM-dd HH:mm:ss”)
不序列化某些字段:@JSONField(serialize = false)
指定顺序:@JSONField(ordinal = 1)
当然,以上注解里的属性,可以同时使用:@JSONField(name = “nAmE”, format = “yyyy-MM-dd HH:mm”)
————————————————

一眼看清@JSONField注解使用与效果_小白码上飞的博客-CSDN博客_jsonfield注解@JSONField是做什么用的@JSONField是fastjson的一个注解,在fastjson解析一个类为Json对象时,作用到类的每一个属性(field)上。通过用@JSONField注解一个类的属性,我们可以达到以下目标指定field对应的key名称:@JSONField(name = “NaMe”)对于时间字段,指定其格式:@JSONField(format = “yyyy-MM-dd HH:mm:ss”)不序列化某些字段:@JSONField(serialize = false)https://blog.csdn.net/u011291072/article/details/109692603

@JSONField与SerializerFeature

fastjson @JSONField与SerializerFeature_Moshow郑锴的博客-CSDN博客名称 含义 备注 QuoteFieldNames 输出key时是否使用双引号,默认为true UseSingleQuotes 使用单引号而不是双引号,默认为false WriteMapNullValue 是否输出值为null的字段,默认为false 常用 WriteEnumUsingToString Enum输出n...https://blog.csdn.net/moshowgame/article/details/101231548?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164992030516782248540971%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164992030516782248540971&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-101231548.142^v8^pc_search_result_cache,157^v4^control&utm_term=%40JSONField+serialzeFeatures&spm=1018.2226.3001.4187FastJson小技巧——@JSONField的史上最全最详细讲解——一看就会_可乐多点冰的博客-CSDN博客_fastjson unwrapped常见:使用fastjson进行需要对字段进行一些特殊处理,比如时间格式,前后端名字不一致,字段为null是否依然序列化等问题。那么fastjson的@JSONField就能很好的解决这些问题。@JSONField注解的源码如下@Retention(RetentionPolicy.RUNTIME)@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER })public @interface JSONField { https://blog.csdn.net/u013541707/article/details/108336497?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164992030516782248540971%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164992030516782248540971&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-3-108336497.142^v8^pc_search_result_cache,157^v4^control&utm_term=%40JSONField+serialzeFeatures&spm=1018.2226.3001.4187

@JSONType与seeAlso

作用:多态对象的类型确定

https://github.com/alibaba/fastjson/wiki/JSONType_seeAlso_cnicon-default.png?t=M276https://github.com/alibaba/fastjson/wiki/JSONType_seeAlso_cn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值