1

我的 JsonBuilder 遇到了一些问题。我希望输出如下所示:

{
    "appointmentCheckResult": [
        {
            "itexxmCode": "98765432",
            " needAppointmentCheckFlag ": "Y"
        },
        {
            "itemCode": "98765433",
            "needAppointmentCheckFlag": "N"
        }
    ]
}

我得到的是:</p>

{
    "appointmentCheckResult": {
        "xxx": [
            {
                "itemCode": "12345",
                "needAppointmentCheckFlag": "Y"
            },
            {
                "itemCode": "5678902",
                "needAppointmentCheckFlag": "Y"
            }
        ]
    }
}

代码如下所示:

import groovy.json.*

def json = new JsonBuilder()
def itemCode = ['12345', '5678902']
def needFlag = 'Y'
json.appointmentCheckResult{xxx([itemCode].transpose().collect {[itemCode:it[0], needAppointmentCheckFlag:needFlag]})}

println JsonOutput.prettyPrint(json.toString())

怎么去掉XXX和XXX前面的“{”?

4

1 回答 1

0

不知道您期望如何在输出中获得YandNitexxmCode作为键...但是假设它们是预期输出中的拼写错误,您需要类似以下内容:

json {
    appointmentCheckResult(
        [itemCode].transpose().collect {
            [itemCode: it[0], needAppointmentCheckFlag: needFlag]
        }
    )
}
于 2018-07-18T17:21:46.347 回答