Bean To Json 很简单,很多人都已经介绍过了。就不再重写了。
Json To Bean 有点难度,和大家分享一下。
有两点要注意力
1.转换的主要函数说明
JSONObject.toBean(Object, Bean.class, Map);
参数说明:
Object: 你得到的JSONObject 对象
Bean.class: 要转换成的Bean的类型
Map: Bean的成员类型
2.Bean的无参构造函数一定要写,否则会报: net.sf.json.JSONException: java.lang.NoSuchMethodException: 这个错误
public void json2bean () {
String json = "{\"password\":\"1234\",\"userName\":\"zhang\"}";
JSONObject o = JSONObject.fromObject(json);
Map<String, Class> m = new HashMap<String, Class>();
m.put("userName", String.class);
m.put("password", String.class);
JSONTestBean b= (JSONTestBean) JSONObject.toBean(o, JSONTestBean.class, m);
System.out.println("Password: " + b.getPassword());
}
用到的Bean
public class JSONTestBean {
private String userName;
private String password;
public JSONTestBean(){};
public JSONTestBean(String userName, String password) {
this.userName = userName;
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}