JSON对象表示

时间:2012-11-29 21:06:08

标签: java json

我是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”     }

感谢您的期待...

1 个答案:

答案 0 :(得分:0)

这不是有效的JSON。 JSON只是一种数据表示,不了解类型信息等元数据。

最接近的方法是将类型明确添加为额外属性,例如:

{ "@type":"Person", "firstname":"XXX", "lastname":"YYY" }

但这意味着您在反序列化时必须选择正确的类。您可能想要查看一些库,但我认为它们要么您自己指定类,要么将自定义注释添加到可序列化的类中。