使用带对象的GSON来打印JSON对象

时间:2012-05-30 19:40:27

标签: java json gson

阅读文档后,有关GSON的快速问题。这就是我对JSON的看法:

var json = { 
     id: "person1", 
     name: "person 1", 
     data: {"email": "1@test.com"},
     children: [{
                    id: "person2",
                    name: "person 2",
                    data: {"email": "2@test.com"},
                    children: []
                },{
                    id: "person3",
                    name: "person 3",
                    data: {"email": "3@test.com"},
                    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等?

由于

1 个答案:

答案 0 :(得分:8)

替换它:

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

用这个:

String json = gson.toJson(p);