restlet中如何返回json和xml类型数据

restlet中如何返回json和xml类型数据

所需jar包:org.restlet.jar、org.restlet.ext.json.jar、org.restlet.ext.xml.jar

1.返回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类型数据的两个小列子,使用起来很简单。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值