使⽤java中的反射获得object对象的属性值
知识点:使⽤java中的反射获得object对象的属性值
⼀:场景
这两天开发代码时,调⽤别⼈的后台接⼝,返回值为Object对象(json形式的),我想获得object中指定的属性值,没有对应的get⽅法,也不像在js中⽤object.属性获得,这⾥可以通过反射获得了Object对象的属性值。datafield属性
⼆:实例
如上我想获得object对象的data中的⼀个属性值eventId,就可以使⽤反射获得data的属性值,之后强转类型即可。
代码如下:
Object entitySave = subEventService.save(entity);
//反射获取object的data属性值(subEvent中的eventId)
String eventId = null;
Class jsonClass = Class();//通过entitySave的Object对象,获取运⾏时类的对象
Field dataField = null;
try {
//获取object中的data属性
dataField = DeclaredField("data");
dataField.setAccessible(true);//设置data属性为可访问的
SubEvent tempSubEvent= new SubEvent();
try {
//通过(Object)获取object的data(SubEvent)中的eventId属性
tempSubEvent = (SubEvent) (entitySave);
eventId = EventId();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论