• 使用java中的反射获得object对象的属性值


    知识点:使用java中的反射获得object对象的属性值

    一:场景

    这两天开发代码时,调用别人的后台接口,返回值为Object对象(json形式的),我想获得object中指定的属性值,没有对应的get方法,也不像在js中用object.属性获得,这里可以通过反射获得了Object对象的属性值。

    二:实例

     如上我想获得object对象的data中的一个属性值eventId,就可以使用反射获得data的属性值,之后强转类型即可。

    代码如下:

       Object entitySave = subEventService.save(entity);

    //反射获取object的data属性值(subEvent中的eventId)
    String eventId = null;
    Class jsonClass = entitySave.getClass();//通过entitySave的Object对象,获取运行时类的对象
    Field dataField = null;
    try {
        //获取object中的data属性
    dataField = jsonClass.getDeclaredField("data");
    dataField.setAccessible(true);//设置data属性为可访问的

    SubEvent tempSubEvent= new SubEvent();
    try {
    //通过Field.get(Object)获取object的data(SubEvent)中的eventId属性
    tempSubEvent = (SubEvent) dataField.get(entitySave);
    eventId = tempSubEvent.getEventId();
    } catch (IllegalAccessException e) {
    e.printStackTrace();
    }
    } catch (NoSuchFieldException e) {
    e.printStackTrace();
    }
  • 相关阅读:
    3305: Hero In Maze II (优先队列+bfs)
    2016年5月8日 GDCPC省赛总结
    POJ 2361 Tic Tac Toe
    about 字节
    KMP模式匹配
    scau 8616 汽车拉力比赛
    海盗分金--大于半数才成立
    scau 10692 XYM-入门之道
    函数模板和类模板成员函数的定义通常放在头文件中
    c语言运算符优先级巧记
  • 原文地址:https://www.cnblogs.com/shuaifing/p/11132222.html
Copyright © 2020-2023  润新知