2011-06-14 47 views
1

我正在使用接受json对象的web应用程序,解析它并创建一个User对象。我想给在gson.fromJson此JSON输入(jsonData,User.class);:我如何在我的web应用程序中提供json输入?

{ 
    users:[{ 
    name: "Jack", 
    email: "email1", 
    friends:[{ 
     name: "name2", 
     email: "email2", 

    }] 
}] 
} 

我应该怎么做才能给这个JSON对象到位jsonData的。我正在使用谷歌应用程序引擎。

在此先感谢。

回答

1

如果您使用Gson,请阅读文档here。 作为jsonData你可以传递字符串与你的json或Reader来传输你的JSON数据。

UPD:你的情况,你需要反序列化数组,因此用它作为

String jsonData = "{" 
    "users:[{ " + 
    "name: 'Jack', " + 
    "email: 'email1', " + 
    "friends:[{ " + 
    " name: 'name2', " + 
    " email: 'email2', " + 
    " }] " + 
    "}] " + 
"}"; 
User[] users = gson.fromJson(jsonData, User[].class); 

GSON使用反射来设置属性,所以请确保您有setter方法JSON中的所有属性,如User.setNameUser.setEmailUser.setFriends,..

+0

对不起。我之前读过,但我无法理解。我只是想给这个json语法作为输入。如果你会写几行代码来表明我该怎么做,我会非常感激。谢谢 – Piscean 2011-06-14 12:51:33

+0

我用代码示例更新了答案。 GSon使用反射来设置属性,所以确保你在json中拥有所有属性的setter,比如'setName','setEmail','setFriends',.. – 2011-06-14 12:58:41

+0

字符串文字没有正确关闭,这是错误 – Piscean 2011-06-14 13:05:45

相关问题