无法分裂在groovy jsonobject中的值
我是groovy新手。我试图在groovy中分割json对象中的值,但我似乎找不到解决方案。请在下面找到无法分裂在groovy jsonobject中的值
def inputFile = new File("C:\\graph.json") def InputJSON = new JsonSlurper().parseFile(inputFile,'UTF-8')
InputJSON.each{println it}
def names = InputJSON.graph;
def name
for (int kk=0;kk<4;kk++)
{
name=names.JArray1[kk]
run.put(name.runid, name.rundetails);
println "test::"+name.runid+"--------------"+name.rundetails
}
graph.json
{ "graph": {
"JArray1": [
{
"runid": 1,
"rundetails":{
"01_Home":0.231,
"02_Login":0.561}
}
]
}
}
name.rundetails示例代码包含以下值
[01_Home:0.231, 02_Login:0.561]
我想分开,并将其添加为键值和Hashmap中的值如下格式
Key:01_Home Value:0.231 Key:02_Login Value:0.561
我该怎么做,任何建议,这将是有益的。提前致谢。
回答:
据我了解,你需要收集,如:
[[Key:01_Home, Value:0.231], [Key:02_Login, Value:0.561]]
然后,你可以这样做:
println InputJSON.graph .JArray1
.rundetails
.collectEntries{it}
.collect{[Key: it.key, Value: it.value]}
回答:
import groovy.json.* def inputFile = new StringReader('''
{
"graph": {
"JArray1": [{
"runid": 1,
"rundetails": {
"01_Home": 0.231,
"02_Login": 0.561
}
}
]
}
}
''')
def json = new JsonSlurper().parse(inputFile)
json.graph.JArray1.each{run->
println "runid = ${run.runid}"
// at this point `run.rundetails` is a map like you want
println "details = ${run.rundetails}"
}
以上是 无法分裂在groovy jsonobject中的值 的全部内容, 来源链接: utcz.com/qa/264870.html