Я пытался понять, как правильно реализовать Spring Cloud Contract Verifier, но JSON, который я пытаюсь применить через контракт, сложен, и я не уверен, как справиться с ним в представлении Groovy. Тело JSON иногда содержит подобъекты ключа, иногда - массив объектов.
response {
status(200)
headers { contentType applicationJson() }
body(
"attrbte1": 777310402,
"attrbte2": 100,
"attrbte3": "CAPSULE",
"attrbte4": "01655",
"attrbte5": "281604",
"attrbte6": "28160420",
"genericCodeNo": 16353,
"stc": {
"stcAttrbt1": 10000001600,
"stcAttrbt2": "8875",
"stcAttrbt3: "2008-08-04T00:00:00.000+0000",
"stcAttrbt4": null
},
"gtc": {
"gtcAttbt1": 10000000028,
"gtcAttbt2": "0N",
"gtcAttbt3": "2008-08-04T00:00:00.000+0000"
},
"etcs": [
{
"etcAttbt1": 530,
"etcAttbt2": null,
"etcAttbt3": null
}
],
"icds": [
{
"icdCode": "F31.3",
"icdCode2": "F45.232"
},
{
"icdCode": "F40.01",
"icdCode2": "F44.2341"
}
]
)
Учитывая, что подобъекты заключены в фигурные скобки, Groovy думает, что он открывает / закрывает оператор / операцию (вроде как ...), но является частью тела JSON. Я пробовал использовать косую черту с тройной одинарной кавычкой ('' '/), но при этом тело обрабатывается как одна непрерывная строка без проверки отдельных атрибутов.
Вопрос в том, действительно ли существует escape-последовательность, которая игнорирует фигурные скобки, сохраняя иерархическую структуру тела.