Return 来自 JSON 列表的子列表 Groovy active choices reactive reference parameter
Return a sub-list from a JSON list in Groovy active choices reactive reference parameter
我的active choices reactive reference parameter读取以下JSON文件
{
"Name": "Tom",
"Age": "25",
"Subjects": ["English", "Physics", "Chemistry", "Biology", "Maths"]
}
引用的参数有file
、Nos
(之前的active choices reactive parameter)是一个单选按钮,值为1,2,3,4,5
现在根据 Nos
的值,我必须显示主题。这就是我所做的:
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def config = jsonSlurper.parse(new File(file))
return config.Subjects
使用上面的代码,输出是,
1. English
2. Physics
3. Chemistry
4. Biology
5. Maths
如果我尝试 return config.Subjects.take(Nos)
或 config.Subjects.subList(Nos)
,如果 Nos = 3
是
1. English
2. Physics
3. Chemistry
但我什么也没看到。然后我试了,
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def config = jsonSlurper.parse(new File(file))
list = []
i = 0
config.Subjects.each {
while (i < Nos){
list.add "$it".toString()
i = i + 1
}
}
return list
但是这次,我总是看到 1. English
,无论我选择哪个单选按钮 select。我哪里错了?
你的代码几乎是正确的。您应该使用 take
来分割列表。例如 take(2)
将 return 前两个元素。所以不要 returning config.Subjects
,尝试 returning (config.Subjects).take(Nos)
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def config = jsonSlurper.parse(new File(file))
return (config.Subjects).take(Nos)
如果Nos是一个字符串,把它转换成整数然后return像这样
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def config = jsonSlurper.parse(new File(file))
return (config.Subjects).take(Nos.toInteger())
我的active choices reactive reference parameter读取以下JSON文件
{
"Name": "Tom",
"Age": "25",
"Subjects": ["English", "Physics", "Chemistry", "Biology", "Maths"]
}
引用的参数有file
、Nos
(之前的active choices reactive parameter)是一个单选按钮,值为1,2,3,4,5
现在根据 Nos
的值,我必须显示主题。这就是我所做的:
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def config = jsonSlurper.parse(new File(file))
return config.Subjects
使用上面的代码,输出是,
1. English
2. Physics
3. Chemistry
4. Biology
5. Maths
如果我尝试 return config.Subjects.take(Nos)
或 config.Subjects.subList(Nos)
,如果 Nos = 3
是
1. English
2. Physics
3. Chemistry
但我什么也没看到。然后我试了,
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def config = jsonSlurper.parse(new File(file))
list = []
i = 0
config.Subjects.each {
while (i < Nos){
list.add "$it".toString()
i = i + 1
}
}
return list
但是这次,我总是看到 1. English
,无论我选择哪个单选按钮 select。我哪里错了?
你的代码几乎是正确的。您应该使用 take
来分割列表。例如 take(2)
将 return 前两个元素。所以不要 returning config.Subjects
,尝试 returning (config.Subjects).take(Nos)
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def config = jsonSlurper.parse(new File(file))
return (config.Subjects).take(Nos)
如果Nos是一个字符串,把它转换成整数然后return像这样
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def config = jsonSlurper.parse(new File(file))
return (config.Subjects).take(Nos.toInteger())