0

特定の JSON の文字列をスキャンし、targetFieldそのフィールドの値 (存在する場合) またはnull(存在しない場合) を返すメソッドを実装する必要があります。

// Ex: extractFieldValue(/{ "fizz" : "buzz" }/, 'fizz') => 'buzz'
// Ex: extractFieldValue(/{ "fizz" : "buzz" }/, 'foo') => null
String extractFieldValue(String json, String targetField) {
    // ...
}

このソリューションは、再帰的であり、(階層的な) JSON 文字列のどのネスト レベルでも機能する必要があります。また、JSON 配列に対しても機能する必要があります。

これまでの私の最善の試み:

String extractFieldValue(String json, String targetField) {
    def slurper = new JsonSlurper()
    def jsonMap = slurper.parseText(json)

    jsonMap."${targetField}"
}

これは、最上位の (ネストされていない) JSON フィールドでのみ機能します。Google Gods に再帰的な使用方法を尋ねましたJsonSlurperが、役立つものは何も見つかりませんでした。ここに何かアイデアはありますか?

4

1 に答える 1