2

私の Groovy コードでは、次の 2 つの変数を宣言しています。

resultsマップの配列です。これには、SQL クエリから返された行のリストが含まれています。

overallは地図です。これは、別の SQL クエリの 1 つの行を表します。

これら 2 つの変数を 1 つに結合し、全体を JSON として出力したいと考えています。最後に、私はそれを次のようにしたいと考えています。

{"data":[{"results":"array"}],"overall":{"overall":"map"}}

使用しようとしているコードは次のとおりですが、機能しません。

def json = new groovy.json.JsonBuilder()
def finalJSON = json {
    data results
    overall overall
}

return json.toString()

しかし、これは機能しません...次の例外がスローされます。

groovy.lang.MissingPropertyException: No such property: call for class: groovy.sql.GroovyRowResult

両方の変数resultsoverall正しいデータが含まれていることを確認できます。JsonBuilder の構文を理解していないだけだと思います。

4

2 に答える 2

1

以下の可能な解決策を見つけてください。

import groovy.json.*

def r = [[l:1],[l:2]]
def o = [over:1,all:2]

def json = new JsonBuilder()

json {
    data r
    overall o
}
println json.toPrettyString()

def m = [data: r, overall: o]

println JsonOutput.prettyPrint(JsonOutput.toJson(m))
于 2014-12-09T08:04:28.490 に答える