"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
フィールドは基本的に列挙型選択からのものであるため、オブジェクトが生成され"View"
たコンテキストに関係なく、記述子を持つconvenienceTypeは同じオブジェクトです。operation
これを解析するために、Groovy スクリプトで JSONSlurper を使用しています。これが私が見ているものです:
コンテキスト A レベル:
operation.convenienceType.descriptor // evaluates to "View" (string)
コンテキスト B レベル:
operation.convenienceType.descriptor // evaluates to ["View"] (array)
だから私が何かをしようとすると
operation.convenienceType.descriptor.toLowerCase
コンテキスト A では機能しますが、コンテキスト BI ではエラーが発生します。これは、私のコードがtoLowerCase
配列のメソッドがないと不平を言っているためです。
どうしてこうなったかわかる方いますか...?