Uso il seguente codice per il rendering di dati in formato JSON.Rendering JSON in grails
render(contentType:"text/json") {
results = array {
db.eachRow(query) { row ->
def rs = row.toRowResult()
def a = b(rs.name,c,d)
aMap.put("A",a)
pair(aMap)
}
}
if (results) {
status = "OK"
}
else {
status ="Nothing present"
}
}
Il codice precedente genera JSON nel seguente formato
{
"results": [
{"A":"value1"},
{"A":"value2"},
...................
{"A":"valuen"}
],
"status":"OK"
}
Come u vedi sopra, i dati vengono resi come array di oggetti. Esiste un modo per rendere i dati dei risultati come una serie di elementi . Come
{
"results": [
"value1",
"value2",
...................
"valuen"
],
"status":"OK"
}
Mi piace il tuo ultimo frammento di codice migliore del primo. Probabilmente è anche più debugger-friendly. – epidemian
Sì, quel convertitore JSON è sicuramente la strada da percorrere :) –
Problemi con l'ultimo frammento di codice in Grails 2.0. La risposta è resa come testo racchiuso in '{}'. – raffian