2015-08-17 57 views
0

我是groovy的新手。我有這樣的代碼。Groovy缺少方法例外

串味

HashMap config = new HashMap([ ttl: 0, url: url, appName: appName, enable: true ]) 
client.put("${data}.json", config) 

從這個客戶端地圖我需要遍歷APPNAME的值並啓用。 對於我使用的方法...我不確定這一點。

def values = client.get("${data}.json"); 

while using this get method was getting following error。由於我是新來的Groovy我不知道這裏發生了什麼

groovy.lang.MissingMethodException:法無簽名:com.comcast.csv.haxor.SecureFirebaseRestClient.get()是適用於參數類型:(org.codehaus.groovy.runtime.GStringImpl)values:[testJson.json]
可能的解決方案:get(com.comcast.tvx.megahttp.utils.URL,java.lang.Class),get(java.lang (String,.String,java.lang.Class),grep(),grep(java.lang.Object),getAt(java.lang.String),wait()

+0

什麼是客戶端以及您如何初始化它? –

回答

0

不知道你在做什麼,但(不知道其他細節)我會把你的代碼這樣:

Map config = [ ttl: 0, url: url, appName: appName, enable: true ] 
client[ "${data}.json" ] = config 
def values = client[ "${data}.json" ] 

假設,你想用getAt()(短切與[])方法,而不是get()

+1

在使用它們之前,也可能值得在鍵上調用'toString()',否則你可能會遇到問題 –

+0

我認爲'client'是'com.comcast.csv.haxor.SecureFirebaseRestClient'的一個實例。 –

0

試試這個:

def config = [ ttl: 0, url: url, appName: appName, enable: true ] 
def endpoint = "${data}.json" as String 

client.put(endpoint, config) 
def values = client.get(endpoint, HashMap) 

def appName = values.appName 
def enable = values.enable 

我找不到上SecureFirebaseRestClient任何信息,所以我猜它是如何工作的。