我正在尝试将gson集成到我的Play中! 2.x版本我正在使用gson& jongo并面临此错误:http://hastebin.com/agewopocen.bash
这是我的模特课:
public class Person extends MongoModel<Person>
{
ObjectId _id;
String name;
int age;
public Person()
{
super(Person.class, "person");
}
public Person(String name, int age)
{
super(Person.class, "person");
this.name = name;
this.age = age;
System.out.println();
}
@Override
public Person setModel()
{
return this;
}
@Override
public ObjectId getId()
{
return null;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public String toJson()
{
return new GsonBuilder().create().toJson(this);
}
@Override
public String toString()
{
return new Gson().toJson(this);
}
}
我不知道“TypeAdapter”是什么(在上面的链接中的错误日志中提到),我相信我们可以在不使用它的情况下使用它。但是,我不知道我错过了什么。
这是我尝试的代码(没有Play,在常规Java中)并且它可以工作。
public class Test
{
public static void main(String[] args)
{
Person nfe = new Person(10, "nfe");
String s = new Gson().toJson(nfe);
System.out.println(s);
}
public static class Person {
int age;
String name;
public Person(int age, String name)
{
this.age = age;
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public void setName(String name)
{
this.name = name;
}
}
}
输出:
{"age":10,"name":"nfe"}
有人可以帮我解决这个问题吗?