我正在使用AppEngine试验Restlet框架,我尝试使用JAX-rs资源检索一个Object(例如ArrayList)列表到
JSON表示
例如,一个示例User类:
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文档提到序列化过程是自动化的,是的只有一个对象如“用户”
new User("userlastname1", "userfirstname1")
给我一个好的JSON表示
{
lastname: "userlastname1",
firstname: "userfirstname1"
}
如果有人可以给我一些解释/示例代码/想法.非常感激
最好的祝福
最佳答案 我实际上只是为自己使用Restlet的Java EE版本来解决这个问题.不确定这个模块是否可用于GAE沙箱,但我刚刚将Jackson的Restlet扩展添加为依赖项,它就像一个魅力.
如果您使用Maven:
<dependency>
<groupId>org.restlet.jee</groupId>
<artifactId>org.restlet.ext.jackson</artifactId>
<version>2.0.10</version>
</dependency>