Dopo aver inserito i dati JSON in un URL in Grails, come posso accedere a tali dati all'interno del controller?Ottenere dati JSON sul lato server con Grails
risposta
Grails analizza automaticamente/unmarshals il JSON e puoi accedervi tramite request.JSON
nel controller. L'oggetto restituito è di tipo JSONObject
e consente quindi l'accesso in stile mappa alle proprietà. Puoi anche utilizzare direttamente questo JSONObject per l'associazione dati:
def jsonObject = request.JSON
def instance = new YourDomainClass(jsonObject)
Scopri i migliori classi JSON in Grails:
http://grails.org/doc/latest/api/org/codehaus/groovy/grails/web/json/package-frame.html
Ad esempio, ecco come ho iterare su una lista di record JSON in un parametro chiamato 'update':
def updates = new org.codehaus.groovy.grails.web.json.JSONArray(params.updates)
for (item in updates) {
def p = new Product()
p.quantity = item.quantity
p.amount = item.amount
p = salesService.saveProductSales(p)
}
Grazie Mike! Ci sono altre variabili/modi per ottenere dati pubblicati diversi da params? Questo è quello che mi sta causando più dolore. – maximus
Qual è il tuo problema specifico? Puoi pubblicare del codice? –
Sai cosa, ho scoperto che non stavo inviando il json, ecco perché non è mai apparso in params. Quindi, la tua soluzione funziona bene. Grazie ancora! – maximus
- 1. Ottenere Jasmine per l'esecuzione sul lato server
- 2. Intercettazione di azioni GSP Grails sul lato client o server
- 3. CSS sul lato server?
- 4. Paging sul lato server con MySQL, PHP e AngularJS
- 5. jQuery modelli sul lato server
- 6. Reagire sul lato server e sul lato client non trasparente
- 7. È possibile eseguire jQuery sul lato server?
- 8. GWT I18N sul lato server
- 9. bootstrap wysiwyg: come ottenere il testo formattato sul lato server?
- 10. Cattura contenuto dinamico dinamico sul lato server
- 11. Rendi la vista parziale sul server o invia dati json e modello di rendering sul client
- 12. Come emettere l'evento SocketIO sul lato server
- 13. GWT: Ottieni costanti sul lato server
- 14. Come utilizzare le regole di convalida sia sul lato client che sul lato server?
- 15. Convalida lato client Grails
- 16. Libreria JSON ASP lato server classico
- 17. OData V4 modifica $ filtro sul lato server
- 18. Invio di dati da Android a server con dati JSON
- 19. Come si usa require.js sul lato server?
- 20. Logica lato client O logica lato server?
- 21. HttpRequestMessage/StreamContent, vuoto Stream sul lato server
- 22. JavaScript sul lato server come PHP
- 23. Autenticazione HTTP CURL sul lato server
- 24. Node.js: Templating sul lato client Modellazione lato server v/s
- 25. Ha senso eseguire il rendering dei template sul lato server?
- 26. Prevenzione degli script sul lato server, XSS
- 27. Implementazione di webrtc sul lato server
- 28. eseguire codice lato server sul div click
- 29. ASP.Net MVC 3 Modello JSON Convalida del modello lato server e binding con convalida lato client
- 30. ParseQueryAdapter: ordina i dati sul lato client
potresti spiegare cosa mi manca con lo stesso approccio (http://stackoverflow.com/questions/15067379/grails-initiating-domain-class-using-json) –
Se non si dispone di una classe di dominio (iethe json solo i suoi dati di input), esiste un modo per analizzare jsonObject? Ovviamente si può fare def x = jsonOblect.xxx, ma come si fa a scorrere le collezioni nelle viscere del json? –