有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java需要RESTLET+JAXRS+JSON——一个很好的例子

我正在用AppEngine测试Restlet框架,并尝试用JAX rs资源将对象列表(例如ArrayList)检索到JSON表示

例如,一个示例用户类:

 public class User {

    private String lastname;

    private String firstname;

    public User(){};
    public User(String lname,String fname){
        this.firstname = fname;
        this.lastname = lname;
    }

    public String getLastname() {
        return lastname;
    }
    public void setLastname(String lastname) {
        this.lastname = lastname;
    }

    public String getFirstname() {
        return firstname;
    }
    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }
 }

我想检索这样的用户列表

@GET @Path("users")
@Produces(MediaType.APPLICATION_JSON)
public ArrayList<User> getUsers() {     
    ArrayList<User> users = new ArrayList<User>();
    users.add(new User("userlastname1", "userfirstname1"));
    users.add(new User("userlastname3", "userfirstname2"));

    return users;
}

我想得到这个JSON表示

[
    {
        lastname: "userlastname1",
        firstname: "userfirstname1"
    },
    {
        lastname: "userlastname2",
        firstname: "userfirstname2"
    }
]

实现这一目标的最佳方式是什么

Restlet文档提到序列化过程是自动化的,是的,只有一个对象,比如“User”

new User("userlastname1", "userfirstname1")

还给我好的

{
    lastname: "userlastname1",
    firstname: "userfirstname1" 
}

如果有人能给我一些解释/示例代码/想法。非常感谢

致意


共 (1) 个答案

  1. # 1 楼答案

    实际上,我刚刚用Restlet的JavaEE版本自己解决了这个问题。不确定这个模块是否适用于GAE沙盒,但我只是添加了Jackson的Restlet扩展作为一个依赖项,它工作起来很有魅力

    如果您使用的是Maven:

    <dependency>  
        <groupId>org.restlet.jee</groupId>  
        <artifactId>org.restlet.ext.jackson</artifactId>  
        <version>2.0.10</version>
    </dependency>