![](/img/trans.png)
[英]how can i get array that is inside json object using org.json package in java?
[英]Convert JSON object to Java bean using org.json package
我有Java bean類,例如:
public class User implements Serializable{
protected String Name = null;
protected String Password = null;
// ...
}
我可以輕松地將其轉換為org.json
對象
User u = new User();
u.setName("AAA");
u.setPassword("123");
JSONObject jo = new JSONObject(u);
是否可以將JSONObject
轉換為Java bean類?
現有一個實現反射方法以將JSON對象轉換為Java bean的庫,稱為Gson 。
使用它,您可以將JSON文本(在代碼中調用jo.toString()
的結果)轉換回User
類型:
User user = new Gson().fromJson(jSONObjectAsString, User.class);
該庫還實現了toJson()
方法,因此對於所有情況,您應該有可能用Gson替換對json.org實現的使用。
沒有使用json.org庫的內置方法。
根據您的需求,您可以
fromJSONObject()
方法,該方法使用JSONObject#has()
和JSONObject#get*()
來獲取所需的值並處理任何類型問題。 JSONObject#names()
和反射來用JSONObject中的數據填充bean實例。 這並不困難,但是如果您需要將其與幾個Bean類一起使用,則可能會很繁重。 public static Object toBean(JSONObject jobject, Object object) {
for (Field field : object.getClass.getDeclaredFields()) {
field.set(object, jobject.getString(field.getName()));
}
}
Call:
User user = (User) toBean(jo, new User());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.