博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
grails XML与JSON响应
阅读量:6911 次
发布时间:2019-06-27

本文共 999 字,大约阅读时间需要 3 分钟。

hot3.png

Grails支持一些不同的方法来产生XML和JSON响应. 第一个是通过 render 方法. render方法可以传递一个代码块来实现XML中的标记生成器:

def list = {def results = Book.list()render(contentType:"text/xml") { books { for(b in results) { book(title:b.title) } } }

}

使用render方法输出JSON render 同样被用于输出JSON:

def list = {def results = Book.list()render(contentType:"text/json") { books { for(b in results) { book(title:b.title) } } }

}

自动XML列集(Marshalling)

(译者注:在此附上对于列集(Marshalling)解释:对函数参数进行打包处理得过程,因为指针等数据,必须通过一定得转换,才能被另一组件所理解。可以说列集(Marshalling)是一种数据格式的转换方法。)

Grails同样支持自动列集(Marshalling) domain类 为XML,通过特定的转换器.

首先,导入grails.converters 类包到你的controller(控制器):

import grails.converters.*

现在,你可以使用下列高度易读的语法来自动转换domain类为XML:

render Book.list() as XML 一个使用转换器的替代方法是使用Grails的codecs 特性. codecs特性提供了 encodeAsXML 和 encodeAsJSON方法: def xml = Book.list().encodeAsXML() render xml 自动JSON列集(Marshalling)

Grails同样支持自动列集(Marshalling)为JSON通过同样的机制. 简单替代XML为JSON:

render Book.list() as JSON

作为替代,可以使用encodeAsJSON达到相同的效果.

转载于:https://my.oschina.net/bravozu/blog/130198

你可能感兴趣的文章
MapReduce的输出格式
查看>>
AD帐号属性灰色不能修改--解决办法
查看>>
当子页面关闭的时候动态刷新页面的局部
查看>>
javascript 去掉重复的值
查看>>
[置顶] jQuery基础学习(一)
查看>>
SIP Servlet 开篇
查看>>
我在IT中的那些转变
查看>>
用户管理 之 Linux 用户管理工具介绍
查看>>
UIScrollView 滚动视图
查看>>
vc 客户端服务器程序
查看>>
liquibase
查看>>
配置RADIUS客户端
查看>>
Java闭锁_CountDownLatch
查看>>
openstack I版的搭建八--
查看>>
发一道JS题,不看答案你会吗?
查看>>
我的友情链接
查看>>
oracle数据出现愤怒加密算法
查看>>
Java基础学习总结(19)——Java环境变量配置
查看>>
BZOJ 2818GCD
查看>>
关于爱情
查看>>