25

Stringこの変数をに変換するにはどうすればよいListですか?

def ids = "[10, 1, 9]"

私が試した: as ListandtoList();

4

4 に答える 4

34
def l = Eval.me(ids)

Groovy コードの文字列 (この場合は "[10,1,9]") を取得し、それを Groovy として評価します。これにより、3 つの int のリストが得られます。

于 2013-02-28T20:20:12.707 に答える
27
def l = ids.split(',').collect{it as int}
于 2013-02-28T00:10:43.870 に答える
25

組み込みのJsonSlurperを使用してください。

使用Eval危険であり、データ型が変更されると文字列操作ソリューションは失敗するため、適応できません。したがって、JsonSlurperを使用するのが最善です。

import groovy.json.JsonSlurper

//List of ints 
def ids = "[10, 1, 9]"
def idList = new JsonSlurper().parseText(ids)

assert 10 == idList[0]

//List of strings 
def ids = '["10", "1", "9"]'
idList = new JsonSlurper().parseText(ids)

assert '10' == idList[0]
于 2015-04-16T12:41:13.183 に答える