为什么在我需要时,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:无法在空对象上获取属性“properties” at MetaTest.printMeta(MetaTest.groovy:17) at MetaTest.run(MetaTest.groovy:24)
我已经没有更多的想法了。
谢谢!