我是JSON的新手。所以请帮助我......
我正在尝试编写一个Rest服务,它返回一个Person对象,如下所示:
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;
}
因此,JSON的输出如下所示: {“firstname”:“XXX”, “姓氏”:“YYY” }
我怎样才能使这个看起来像 “人” { “名字”:“XXX”, “姓氏”: “YYY” }
感谢您的期待...
答案 0 :(得分:0)
这不是有效的JSON。 JSON只是一种数据表示,不了解类型信息等元数据。
最接近的方法是将类型明确添加为额外属性,例如:
{ "@type":"Person", "firstname":"XXX", "lastname":"YYY" }
但这意味着您在反序列化时必须选择正确的类。您可能想要查看一些库,但我认为它们要么您自己指定类,要么将自定义注释添加到可序列化的类中。