2012-11-29 31 views
0

我是JSON的新手。所以請幫助我....JSON對象表示

我想寫一個休息的服務,如下返回一個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的輸出看起來像: {「名字「: 」XXX「, 」姓氏「: 」YYY「 }

我怎樣才能讓這個看起來像 ‘人’ { ‘名字’:‘XXX’, 」姓氏「:」 YYY 「 }

感謝您的期待...

回答

0

這不是有效的JSON。 JSON只是一種數據表示,並且不知道類型信息等元數據。

你可以得到最接近的是通過顯式添加類型作爲額外的屬性,如:

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

然而,這意味着你必須當你反序列化選擇合適的班級。您可能想要查看一些庫,但我認爲它們要麼自己指定類,要麼將自定義註釋添加到可序列化的類中。