restlet中如何返回json和xml类型数据
2013-11-21 12:53
656 查看
restlet中如何返回json和xml类型数据
所需jar包:org.restlet.jar、org.restlet.ext.json.jar、org.restlet.ext.xml.jar1.返回json类型数据:
(1).编写学生实体类(Student.java):
public class Student { private String name; private String sex; private int age; public Student(String name,String sex,int age){ this.name = name; this.sex = sex; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
(2).编写资源处理类(GetDataResource):
import java.util.ArrayList; import java.util.List; import org.json.JSONArray; import org.restlet.ext.json.JsonRepresentation; import org.restlet.representation.Representation; import org.restlet.resource.Get; import org.restlet.resource.ServerResource; //定义一个资源 public class GetDataResource extends ServerResource { /**返回JSON类型数据*/ @Get private Representation getJsonData() { List<Student> list = new ArrayList<Student>(); Student stu1 = new Student("曹操","男",50); Student stu2 = new Student("小乔","女",23); Student stu3 = new Student("周瑜","男",32); list.add(stu1); list.add(stu2); list.add(stu3); //把list集合转换为json对象 JSONArray arr = new JSONArray(list); return new JsonRepresentation(arr); } }
(3).通过浏览器访问该资源,结果如下:
[{"sex":"男","age":50,"name":"曹操"},
{"sex":"女","age":23,"name":"小乔"},
{"sex":"男","age":32,"name":"周瑜"}]
2.返回xml类型数据:
(1).编写学生实体类(Student.java):
方法同上。
(2).编写资源处理类(GetDataResource):
import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.restlet.data.MediaType; import org.restlet.ext.xml.DomRepresentation; import org.restlet.resource.Get; import org.restlet.resource.ResourceException; import org.restlet.resource.ServerResource; import org.w3c.dom.Document; import org.w3c.dom.Node; //定义一个资源 public class GetDataResource extends ServerResource { /**返回XML类型数据*/ @Get public DomRepresentation getXMLData() throws ResourceException, IOException{ //创建请求参数 DomRepresentation representation = new DomRepresentation(MediaType.APPLICATION_XML); Document doc = representation.getDocument() ; //创建节点 Node studentsNode = doc.createElement("Students"); List<Student> list = new ArrayList<Student>(); Student stu1 = new Student("曹操","男",50); Student stu2 = new Student("小乔","女",23); Student stu3 = new Student("周瑜","男",32); list.add(stu1); list.add(stu2); list.add(stu3); //设置值 for(Student stu : list){ Node studentNode = doc.createElement("student"); Node nameNode = doc.createElement("name"); Node sexNode = doc.createElement("sex"); Node ageNode = doc.createElement("age"); nameNode.setTextContent(stu.getName() + ""); sexNode.setTextContent(stu.getSex() + ""); ageNode.setTextContent(stu.getAge() + ""); studentNode.appendChild(nameNode); studentNode.appendChild(sexNode); studentNode.appendChild(ageNode); studentsNode.appendChild(studentNode); } doc.appendChild(studentsNode); return representation ; } }
(3).通过浏览器访问该资源,结果如下:
上面就是关于restlet返回json和xml类型数据的两个小列子,使用起来很简单。
相关文章推荐
- JS对select动态添加options操作[IE&FireFox兼容]
- JavaScript中location对象的属性总结
- 使用eval()解析JSON格式字符串应注意的问题
- JavaScript中 “ Uncaught SyntaxError: Unexpected identifier ” 提示
- js数组定义笔记
- javascript 数组排序函数sort和reverse使用介绍
- org.json 解析
- JSON和XML的比较
- JS让弹出的窗口始终在最上面
- JavaScript break跳出多重循环
- js表单验证大全
- java web 自定义错误页面 完整jsp错误页面代码(同时写错误日志) error.jsp
- django如何在js中调用csrf_token变量
- JavaScript数组
- js的与或运算符的妙用
- js判断当前的访问是手机还是电脑
- 简单的DOM操作
- js基础 及BOM
- js获取对象为null
- dom与javascript