2012-05-30 79 views
2

閱讀文檔後,對GSON有疑問。這是我用JSON所得到的:使用GSON和對象打印JSON對象

var json = { 
    id: "person1", 
    name: "person 1", 
    data: {"email": "[email protected]"}, 
    children: [{ 
        id: "person2", 
        name: "person 2", 
        data: {"email": "[email protected]"}, 
        children: [] 
       },{ 
        id: "person3", 
        name: "person 3", 
        data: {"email": "[email protected]"}, 
        children: [] 
       } 
       ] 
} 

1)我可以在不使用Java中的Class對象的情況下使用GSON嗎?這可以使用GSON和Java輕鬆完成。這意味着我可以這樣做

GSON gson = new GSON(); 
gson.toJson("name", "person 1"); 

2)當我用這個例子:

  Gson gson = new Gson(); 
      Person p = new Contact(rs.getString("name")); 
      gson.toJson(p); 
      String json = gson.toString(); 
      System.out.println(json); 

我的JSON輸出是不是我的預期。該Person實例是一個只有一個屬性名稱的公共類實例(用於測試目的)。爲什麼我會在輸出中看到基本的Factory,serializeNulls等?

感謝

回答

3

替換此:

gson.toJson(p); 
String json = gson.toString(); 

與此:

String json = gson.toJson(p);