![](/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.