Java JSON对象表示
我是JSON新手。所以请帮助我 我正在尝试编写一个Rest服务,该服务返回Person对象,如下所示:Java JSON对象表示,java,json,Java,Json,我是JSON新手。所以请帮助我 我正在尝试编写一个Rest服务,该服务返回Person对象,如下所示: PersonJSONAdapter implements JsonSerializer<Person>, JsonDeserializer<Person> { public JsonElement serialize(final Person src, final Type typeOfSrc, final JsonSerializationConte
PersonJSONAdapter implements JsonSerializer<Person>, JsonDeserializer<Person>
{
public JsonElement serialize(final Person src, final Type typeOfSrc, final JsonSerializationContext context)
{
if (src == null)
return null;
final JsonObject retVal = new JsonObject();
retVal.addProperty("firstname", src.getFirstname());
retVal.addProperty("lastname", src.getLastname());
return retVal;
}
PersonJSONAdapter实现JsonSerializer、JsonDeserializer
{
公共JsonElement序列化(final Person src、final Type typeOfSrc、final JsonSerializationContext)
{
如果(src==null)
返回null;
final JsonObject retVal=新的JsonObject();
retVal.addProperty(“firstname”,src.getFirstname());
retVal.addProperty(“lastname”,src.getLastname());
返回返回;
}
因此,JSON的输出如下所示:
{“firstname”:“XXX”,
“lastname”:“YYY”
}
我怎样才能让这个看起来像
“人”
{
“名字”:“XXX”,
“lastname”:“YYY”
}
感谢您查找…这不是有效的JSON。JSON只是一种数据表示,不了解元数据,例如类型信息 最接近的方法是将类型显式添加为额外属性,例如:
{“@type”:“Person”,“firstname”:“XXX”,“lastname”:“YYY”}
但是,这意味着您必须在反序列化时选择正确的类。您可能希望签出一些库,但我认为它们需要您自己指定类,或者向可序列化类添加自定义注释