主な質問: Groovyの変数の型を決定するために使用できる演算子、プロパティなどはどれですか?Groovyの動的型のタイプ
背景:私は、任意に深くネストされた辞書データ構造を持っている
。 Grailsコントローラでrequest.JSON
を呼び出した結果です。最初に、特定のキーが適切なタイプの辞書にあることを確認したいと思います。私がこれを実装したいのは、プロトタイプのデータ構造を作成し、データ構造を比較するメソッドを定義することです。次のようなものがあります。
def prototype = [ username: "JennyJeans",
message: [ subject: "Hello World!",
body: "Will write soon."
]
]
もちろん、ここの文字列の内容は重要ではありません。その後、私の行動に、私はこのような検証:だから
if(similarDataStructure(prototype, request.JSON)) {
// XXX
} else {
// report error
}
、similarDataStructure
方法は何をするのでしょうか?擬似コードの場合:
def similarDataStructure(a, b) {
if(type(a) != type(b)) return false
if(type(a) == dictionary) {
for key in a:
if(!similarDataStructure(a[key], b[key])) return false
}
return true
}
深い妥当性検査を行うには、より良い方法を考えることができます。
を次のコードを試してみてください、私は本当に実現しようとしていますがGrailsのためのJSONスキーマバリデータが何であるかを発見しました –