"context A": {
"name": "parent A",
"operation": {
"name": "op A",
"convenienceType": {
"descriptor": "View",
"id": "view_id"
}
},
"context B": {
"name": "child B",
"operation": {
"name": "op B",
"convenienceType": {
"descriptor": "View",
"id": "view_id"
}
}
}
}
У меня есть operation
объект, который повторяется в моем JSON, но для разных контекстов. Поле convenienceType
операции в основном основано на enum-selection, поэтому для удобства тип с дескриптором "View"
является одним и тем же объектом, независимо от контекста, из которого был создан объект operation
.
I ' Я использую JSONSlurper в моем Groovy скрипте, чтобы разобрать это. Вот что я вижу:
На уровне контекста A:
operation.convenienceType.descriptor // evaluates to "View" (string)
На уровне контекста B:
operation.convenienceType.descriptor // evaluates to ["View"] (array)
Поэтому, когда я пытаюсь сделать что-то вроде
operation.convenienceType.descriptor.toLowerCase
Это работает для контекста A, но в контексте BI выдается ошибка, так как мой код жалуется, что toLowerCase
метод не существует для массивов.
Кто-нибудь знает, почему это может произойти ...?