当Groovy的“metaClass”返回null时
发布时间:2020-12-14 16:33:38 所属栏目:大数据 来源:网络整理
导读:为什么在我需要它时,Groovy的“metaClass”属性返回null.例: import net.sf.json.groovy.JsonSlurper@Grab(group='net.sf.json-lib',module='json-lib',version='2.3',classifier='jdk15')def printMeta(obj) { obj.metaClass.properties.each {println "Pr
为什么在我需要它时,Groovy的“metaClass”属性返回null.例:
import net.sf.json.groovy.JsonSlurper @Grab(group='net.sf.json-lib',module='json-lib',version='2.3',classifier='jdk15') def printMeta(obj) { obj.metaClass.properties.each {println "Property: ${it.name}"} } def raw = /{"test":"this is a test"}/ def json = new JsonSlurper().parseText(raw); printMeta (json); 我知道JsonSlurper使用元编程,为什么我会得到以下内容: 抓到:java.lang.NullPointerException:无法在null对象上获取属性’properties’ 我完全没有想法. 谢谢! 解决方法
我从来没有玩过JSON的东西,但通常当你试图在地图上调用.metaClass时会发生这种情况.
如果我不知道我之前正在调用的类,我通常会专门调用.getMetaClass().否则,当我试图将地图作为模拟对象传递时,这种事情会咬我. (这与您通常要调用.getClass()而不是.class来获取Class对象的原因相同.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |