检索JSON对象中的动态对象并将其放入Groovy数组

检索JSON对象中的动态对象并将其放入Groovy数组,json,object,arraylist,groovy,Json,Object,Arraylist,Groovy,我是Groovy新手,找不到任何与此相关的资源。我试图从一个“dates”对象中提取数据,并将其放入一个固定对象数组中。原因是日期内的对象将发生变化,我想将其放入“固定”中以便于操作: 原件: { "dates": { "2021-02-08": "8", "2021-02-09": "8", "2021-02-10": "8" }}

我是Groovy新手,找不到任何与此相关的资源。我试图从一个“dates”对象中提取数据,并将其放入一个固定对象数组中。原因是日期内的对象将发生变化,我想将其放入“固定”中以便于操作:

原件:

{
"dates": {
    "2021-02-08": "8",
    "2021-02-09": "8",
    "2021-02-10": "8"
}}
需要输出:

{
"dates": [
    {
    "date": "2021-02-08",
    "value": "8"
    },
    {
    "date": "2021-02-09",
    "value": "8"
    },
    {
    "date": "2021-02-10",
    "value": "8"
    },
]}
我正在尝试使用当前代码:

arrayList = []
arrayList.add(content[0].dates)
它返回一个[[2021-02-08:812021-02-09:812021-02-10:8]],但我无法将其提取为数组


有什么想法吗?

我已经找到了解决方案,以防有人需要它。下面是一段可以在groovy控制台上测试的代码:

import groovy.json.JsonSlurper;
import groovy.json.JsonOutput;

def jsonSlurper = new JsonSlurper()
def content= jsonSlurper.parseText '''     
[{"dates": {
            "2021-02-08": "8",
            "2021-02-09": "8",
            "2021-02-10": "8",
        }}]
'''

arrayList = [];
newArrayList = [];
finalArrayList = []

arrayList = content[0].dates.toString().substring(1,content[0].dates.toString().length() - 1).split(',')


for (i = 0; i < arrayList.size(); i++){
      newArrayList.add(arrayList[i].split('='))
    }

for (i = 0; i < newArrayList.size(); i++){
    finalArrayList.add('{"date": "'+ newArrayList[i][0]+ '", "value": "' + newArrayList[i][1] + '"}')
    }

content[0].dates = finalArrayList

println(content[0].dates)
import groovy.json.JsonSlurper;
导入groovy.json.JsonOutput;
def jsonSlurper=新的jsonSlurper()
def content=jsonSlurper.parseText''
[{“日期”:{
"2021-02-08": "8",
"2021-02-09": "8",
"2021-02-10": "8",
}}]
'''
arrayList=[];
newArrayList=[];
finalArrayList=[]
arrayList=content[0]。dates.toString().substring(1,内容[0]。dates.toString().length()-1)。拆分(“,”)
对于(i=0;i
import groovy.json.JsonSlurper;
导入groovy.json.JsonOutput;
def jsonSlurper=新的jsonSlurper()
def content=jsonSlurper.parseText''
[{“日期”:{
"2021-02-08": "8",
"2021-02-09": "8",
"2021-02-10": "8",
}}]
'''
arrayList=[];
newArrayList=[];
finalArrayList=[]
arrayList=content[0]。dates.toString().substring(1,内容[0]。dates.toString().length()-1)。拆分(“,”)
对于(i=0;i