如何在Rest-Assured框架中为嵌套JSON添加值?
我有下面的JSON响应块。我正在使用如何在Rest-Assured框架中为嵌套JSON添加值?,json,groovy,rest-assured,Json,Groovy,Rest Assured,我有下面的JSON响应块。我正在使用com.jayway.restassured.response.response类从API读取响应 { layouts: { regions: { [ metadata: null, endDate: null, displayName: null, rol
com.jayway.restassured.response.response
类从API读取响应
{
layouts:
{
regions:
{
[
metadata: null,
endDate: null,
displayName: null,
roles: []
],
[
metadata: null,
endDate: null,
displayName: null,
roles: []
]
},
}
}
我需要将以下结构添加到区域数组中:
[
structure: 100,
type: 101,
widgets: [],
width: 12
]
因此,生成的JSON如下所示:
{
layouts:
{
regions:
{
[
metadata: null,
endDate: null,
displayName: null,
roles: []
],
[
structure: 100,
type: 101,
widgets: [],
width: 12
],
[
metadata: null,
endDate: null,
displayName: null,
roles: []
]
},
}
}
最好的方法是什么?当我使用
com.jayway.restassured.response.response
response时,JSONSlurper
似乎无法解析整个响应。还有其他想法吗?您是否提供了正确的JSON响应?在正确的JSON中,“区域”应该是一个数组,如下所示:
{
layouts:
{
regions:
[
{
metadata: null,
endDate: null,
displayName: null,
roles: []
},
{
metadata: null,
endDate: null,
displayName: null,
roles: []
}
],
}
}
对于JsonSlurper
,您可以使用LAX类型:
def json = new JsonSlurper(type: JsonParserType.LAX).parseText(text)
JsonBuilder builder = new JsonBuilder()
List regionsList = json.layouts.regions
regionsList << [
structure: 100,
type: 101,
widgets: [],
width: 12
]
builder.layouts {
regions(regionsList)
}
println JsonOutput.prettyPrint(builder.toString())
{
"layouts": {
"regions": [
{
"metadata": null,
"endDate": null,
"displayName": null,
"roles": [
]
},
{
"metadata": null,
"endDate": null,
"displayName": null,
"roles": [
]
},
{
"structure": 100,
"type": 101,
"widgets": [
],
"width": 12
}
]
}
}