2011-06-14 50 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

相關問題