2010-11-30 13 views
2

Je me levais toute la nuit à la recherche d'informations sur la façon d'utiliser JSON dans Grails. Et j'ai trouvé l'information que dans JSON closure, nous pouvons utiliser une seule méthode - array - pas d'autre. est-ce vrai?Grails. JSON. ses méthodes?

et suivant petite question:

i trouver ici: http://www.jiramot.info/mini-guide-to-rendering-json-with-grails exemple:

render(contentType:‘text/json’){ 
     collection{ 
       pair(name:‘value’) 
       pair(name:‘value1′) 
     } 
} 

rendus sous forme de:

{collection:[{"name":"value"},{"name":"value1"}] 

mais lorsque je tente le faire, je dois ce résultat :

{"collection":{"pair":{"name":"value1"}}} 

Quelle conclusion pouvons-nous faire? Je fais un exemple faux ou faux sur le site?

+0

duplication possible de [rendu JSON avec Grails?] (Http://stackoverflow.com/questions/4304924/rendering-json-with-grails) – Bozho

+0

"Si vous avez une question différente, vous devez créer un nouveau" – user471011

+0

désolé, je ne pouvais pas faire la différence, car les deux questions ne fournissaient pas suffisamment d'informations sur ce qui était demandé et quel était le problème. – Bozho

Répondre

2

essayer

render(contentType:‘text/json’){ 
     collection { 
       array { 
        pair(name:"value") 
        pair(name:"value1") 
       } 
     } 
} 
+0

résultat: {"collection": {}} – user471011

+0

quel est cet objet paire? est-ce que ça fait partie des grails? Si vous regardez http://grails.org/doc/latest/guide/6.%20The%20Web%20Layer.html#6.1.7 Réponses XML et JSON cela vous dit comment le faire - j'ai simplement extrapolé à partir de votre exemple . – Chii

+0

render (contentType: 'text/json') { collection = array { paire (nom: "valeur") paire (nom: "valeur1") } – user471011

2

JSON rendu dans Grails est beaucoup plus facile ...

def foobar = [ fooArray: [ 1, 2, 3 ], bar: [ b: "bbb", a: "aaa", r: "rrr" ] ] 
render foobar as JSON 

résultats dans

{"fooArray":[1,2,3],"bar":{"b":"bbb","a":"aaa","r":"rrr"}} 

Il suffit de créer une structure de Groovy et appropriée render il as JSON.