如何在Groovy合并2个JSON阵列



试图将2个json数组合并为1个groovy。

def branchTags = new JsonBuilder()
    branchTags branches, { String branch ->
        tag branch
        type 'b'
    }
    println(branchTags.toString()) 
    //generates [{"tag":"Branch","type":"b"},{"tag":"Branch1","type":"b"}]
    def releaseTags = new JsonBuilder()
    releaseTags releases, {String release ->
        tag release
        type 'r'
    }
    println(releaseTags.toString())
    //generates [{"tag":"Release","type":"r"},{"tag":"Rel1","type":"r"}]
    /*def newTags = new JsonBuilder()
    branchTags.each {k,v -> newTags.}*/
    def slurper = new JsonSlurper()
    def input = slurper.parseText(branchTags.toString())
    def res = slurper.parseText(releaseTags.toString())
    def joined = [input, res].flatten()
    println joined.toString()
    //this generates [{"tag":"Branch","type":"b"},{"tag":"Branch1","type":"b"}][{"tag":"Release","type":"r"},{"tag":"Rel1","type":"r"}]

我需要:

[
   {"tag":"Branch","type":"b"},
   {"tag":"Branch1","type":"b"}, 
   {"tag":"Release","type":"r"},
   {"tag":"Rel1","type":"r"}
]

tia,

在您解析JSON后,您有两个数组。

只需使用 +将两个阵列串成一个

import groovy.json.*
def branchTags = '[{"tag":"Branch","type":"b"},{"tag":"Branch1","type":"b"}]'
def releaseTags = '[{"tag":"Release","type":"r"},{"tag":"Rel1","type":"r"}]'
def slurper = new JsonSlurper()
def bArr = slurper.parseText(branchTags)
def rArr = slurper.parseText(releaseTags)
def res = bArr+rArr
println new JsonBuilder(res).toString()

最新更新