Play 提供Json数据
因为做一个东西要用json进行数据传输,又因为play框架对其进行了一些封装,刚开始用可能不是很顺手,经过一番讨教,明白如何使用了。
Play自带的json生成,解析工具是Gson。之前做andoird的时候用到过一下,所以感觉不是很陌生。这次是在服务端,做法是:
public static void foo(){
List allInfos = new ArrayList<Info>();
allInfos = Info.findAll();
//TODO : play with json
response.contentType="application/json";
Gson gson = new Gson();
String listToJson = gson.toJson(allInfos);
response.setHeader("Content-Type", "application/json;charset=UTF-8");
renderText(listToJson);
}
其实这些代码只是完成了这个功能。具体的内容只能先猜猜看。
1. 这里就是用gson.toJson()方法,把一个对象转成它所对应的json形式,但是是String类型的。
2. response.setHeader(XXX):在写这句话前,输出的中文内容是乱码。在控制台里得到的是正常的,但在页面上显示则为乱码,暂不知是为甚。
3. renderText(XXX):如果要展示的内容是String类型的,则用这个方法。如果用render(),则会把String进行转译。
2011.9.22 补记:其实最后也可以用renderJSON()进行输出的。后来发现renderXXX()类似的有很多方法,还是可以见文思意的。
浙公网安备 33010602011771号